public final class org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan allocator;
    descriptor: Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.debug.DebugContext debug;
    descriptor: Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final org.graalvm.compiler.lir.InstructionValueConsumer outputConsumer;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.lir.InstructionValueConsumer tempConsumer;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.lir.InstructionValueConsumer aliveConsumer;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.lir.InstructionValueConsumer inputConsumer;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.lir.InstructionValueConsumer stateProc;
    descriptor: Lorg/graalvm/compiler/lir/InstructionValueConsumer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$lsra$TraceInterval$SpillState;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

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

  public void <init>(org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan, org.graalvm.compiler.core.common.alloc.TraceBuilderResult);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan allocator
        start local 2 // org.graalvm.compiler.core.common.alloc.TraceBuilderResult traceBuilderResult
         0: .line 94
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 135
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$1.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;)V
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.outputConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
         2: .line 145
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$2
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$2.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;)V
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.tempConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
         3: .line 154
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$3
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$3.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;)V
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.aliveConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
         4: .line 167
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$4
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$4.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;)V
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.inputConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
         5: .line 181
            aload 0 /* this */
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$5
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$5.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;)V
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.stateProc:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
         6: .line 95
            aload 0 /* this */
            aload 1 /* allocator */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
         7: .line 96
            aload 0 /* this */
            aload 1 /* allocator */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
         8: .line 97
            aload 0 /* this */
            aload 2 /* traceBuilderResult */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
         9: .line 98
            return
        end local 2 // org.graalvm.compiler.core.common.alloc.TraceBuilderResult traceBuilderResult
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan allocator
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0   10     1           allocator  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            0   10     2  traceBuilderResult  Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
    MethodParameters:
                    Name  Flags
      allocator           
      traceBuilderResult  

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

  private org.graalvm.compiler.lir.LIR getLIR();
    descriptor: ()Lorg/graalvm/compiler/lir/LIR;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
         0: .line 105
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;

  private jdk.vm.ci.code.RegisterArray getCallerSavedRegisters();
    descriptor: ()Ljdk/vm/ci/code/RegisterArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
         0: .line 109
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getRegisterAllocationConfig:()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.getCallerSaveRegisters:()Ljdk/vm/ci/code/RegisterArray;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;

  public void analyze();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
         0: .line 113
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.countInstructions:()V
         1: .line 114
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.buildIntervals:()V
         2: .line 115
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;

  private void countInstructions();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
         0: .line 123
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.initIntervals:()V
         1: .line 125
            iconst_0
            istore 1 /* numberInstructions */
        start local 1 // int numberInstructions
         2: .line 126
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser int top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* block */
        start local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         4: .line 127
            iload 1 /* numberInstructions */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            iadd
            istore 1 /* numberInstructions */
        end local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         5: .line 126
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 129
            aload 0 /* this */
            iload 1 /* numberInstructions */
            putfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.numInstructions:I
         8: .line 132
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            iload 1 /* numberInstructions */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.initOpIdMaps:(I)V
         9: .line 133
            return
        end local 1 // int numberInstructions
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            2   10     1  numberInstructions  I
            4    5     2               block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;

  private void addUse(jdk.vm.ci.meta.AllocatableValue, int, int, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;IILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // jdk.vm.ci.meta.AllocatableValue operand
        start local 2 // int from
        start local 3 // int to
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         0: .line 193
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         1: .line 194
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegisterValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
            astore 5 /* reg */
        start local 5 // jdk.vm.ci.code.RegisterValue reg
         2: .line 195
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 5 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.isAllocatable:(Ljdk/vm/ci/code/RegisterValue;)Z
            ifeq 7
         3: .line 196
            aload 0 /* this */
            aload 5 /* reg */
            iload 2 /* from */
            iload 3 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addFixedUse:(Ljdk/vm/ci/code/RegisterValue;II)V
        end local 5 // jdk.vm.ci.code.RegisterValue reg
         4: .line 198
            goto 7
         5: .line 199
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 6
            aload 1 /* operand */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* operand */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 200
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* operand */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            iload 2 /* from */
            iload 3 /* to */
            aload 4 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addVariableUse:(Lorg/graalvm/compiler/lir/Variable;IILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
         7: .line 202
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
        end local 3 // int to
        end local 2 // int from
        end local 1 // jdk.vm.ci.meta.AllocatableValue operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    8     1           operand  Ljdk/vm/ci/meta/AllocatableValue;
            0    8     2              from  I
            0    8     3                to  I
            0    8     4  registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            2    4     5               reg  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
                  Name  Flags
      operand           
      from              
      to                
      registerPriority  

  private void addFixedUse(jdk.vm.ci.code.RegisterValue, int, int);
    descriptor: (Ljdk/vm/ci/code/RegisterValue;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // jdk.vm.ci.code.RegisterValue reg
        start local 2 // int from
        start local 3 // int to
         0: .line 205
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateFixedInterval:(Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            astore 4 /* interval */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
         1: .line 206
            aload 4 /* interval */
            iload 2 /* from */
            iload 3 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.addRange:(II)V
         2: .line 207
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 4
         3: .line 208
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "add fixed use: %s, at %d"
            aload 4 /* interval */
            iload 3 /* to */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;I)V
         4: .line 210
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
        end local 3 // int to
        end local 2 // int from
        end local 1 // jdk.vm.ci.code.RegisterValue reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    5     1       reg  Ljdk/vm/ci/code/RegisterValue;
            0    5     2      from  I
            0    5     3        to  I
            1    5     4  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    MethodParameters:
      Name  Flags
      reg   
      from  
      to    

  private void addVariableUse(org.graalvm.compiler.lir.Variable, int, int, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;IILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.lir.Variable operand
        start local 2 // int from
        start local 3 // int to
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         0: .line 213
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 1 /* operand */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateInterval:(Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 5 /* interval */
        start local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         1: .line 214
            aload 5 /* interval */
            iload 2 /* from */
            iload 3 /* to */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.addRange:(II)V
         2: .line 217
            aload 5 /* interval */
            iload 3 /* to */
            bipush -2
            iand
            aload 4 /* registerPriority */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;Lorg/graalvm/compiler/options/OptionValues;)V
         3: .line 219
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 5
         4: .line 220
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "add use: %s, at %d (%s)"
            aload 5 /* interval */
            iload 3 /* to */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.name:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 222
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            return
        end local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
        end local 3 // int to
        end local 2 // int from
        end local 1 // org.graalvm.compiler.lir.Variable operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    6     1           operand  Lorg/graalvm/compiler/lir/Variable;
            0    6     2              from  I
            0    6     3                to  I
            0    6     4  registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            1    6     5          interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
                  Name  Flags
      operand           
      from              
      to                
      registerPriority  

  private void addDef(jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // jdk.vm.ci.meta.AllocatableValue operand
        start local 2 // org.graalvm.compiler.lir.LIRInstruction op
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         0: .line 225
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         1: .line 226
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegisterValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
            astore 4 /* reg */
        start local 4 // jdk.vm.ci.code.RegisterValue reg
         2: .line 227
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 4 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.isAllocatable:(Ljdk/vm/ci/code/RegisterValue;)Z
            ifeq 7
         3: .line 228
            aload 0 /* this */
            aload 4 /* reg */
            aload 2 /* op */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addFixedDef:(Ljdk/vm/ci/code/RegisterValue;Lorg/graalvm/compiler/lir/LIRInstruction;)V
        end local 4 // jdk.vm.ci.code.RegisterValue reg
         4: .line 230
            goto 7
         5: .line 231
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 6
            aload 1 /* operand */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* operand */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 232
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* operand */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            aload 2 /* op */
            aload 3 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addVariableDef:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            pop
         7: .line 234
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
        end local 2 // org.graalvm.compiler.lir.LIRInstruction op
        end local 1 // jdk.vm.ci.meta.AllocatableValue operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    8     1           operand  Ljdk/vm/ci/meta/AllocatableValue;
            0    8     2                op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    8     3  registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            2    4     4               reg  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
                  Name  Flags
      operand           
      op                
      registerPriority  

  private void addFixedDef(jdk.vm.ci.code.RegisterValue, org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Ljdk/vm/ci/code/RegisterValue;Lorg/graalvm/compiler/lir/LIRInstruction;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // jdk.vm.ci.code.RegisterValue reg
        start local 2 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 237
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateFixedInterval:(Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            astore 3 /* interval */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
         1: .line 238
            aload 2 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            istore 4 /* defPos */
        start local 4 // int defPos
         2: .line 239
            aload 3 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.from:()I
            iload 4 /* defPos */
            if_icmpgt 5
         3: .line 244
            aload 3 /* interval */
            iload 4 /* defPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.setFrom:(I)V
         4: .line 246
            goto 8
         5: .line 250
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval int
      StackMap stack:
            aload 3 /* interval */
            iload 4 /* defPos */
            iload 4 /* defPos */
            iconst_1
            iadd
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.addRange:(II)V
         6: .line 251
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 8
         7: .line 252
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Warning: def of operand %s at %d occurs without use"
            aload 1 /* reg */
            iload 4 /* defPos */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;I)V
         8: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 10
         9: .line 256
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "add fixed def: %s, at %d"
            aload 3 /* interval */
            iload 4 /* defPos */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;I)V
        10: .line 258
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int defPos
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
        end local 2 // org.graalvm.compiler.lir.LIRInstruction op
        end local 1 // jdk.vm.ci.code.RegisterValue reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0   11     1       reg  Ljdk/vm/ci/code/RegisterValue;
            0   11     2        op  Lorg/graalvm/compiler/lir/LIRInstruction;
            1   11     3  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            2   11     4    defPos  I
    MethodParameters:
      Name  Flags
      reg   
      op    

  private org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval addVariableDef(org.graalvm.compiler.lir.Variable, org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.lir.Variable operand
        start local 2 // org.graalvm.compiler.lir.LIRInstruction op
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         0: .line 261
            aload 2 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            istore 4 /* defPos */
        start local 4 // int defPos
         1: .line 263
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 1 /* operand */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateInterval:(Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 5 /* interval */
        start local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
         2: .line 265
            aload 5 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isEmpty:()Z
            ifeq 7
         3: .line 269
            aload 5 /* interval */
            iload 4 /* defPos */
            iload 4 /* defPos */
            iconst_1
            iadd
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.addRange:(II)V
         4: .line 270
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 8
         5: .line 271
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "Warning: def of operand %s at %d occurs without use"
            aload 1 /* operand */
            iload 4 /* defPos */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;I)V
         6: .line 273
            goto 8
         7: .line 278
      StackMap locals: int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 5 /* interval */
            iload 4 /* defPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setFrom:(I)V
         8: .line 280
      StackMap locals:
      StackMap stack:
            aload 2 /* op */
            instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
            ifne 10
         9: .line 282
            aload 5 /* interval */
            iload 4 /* defPos */
            aload 3 /* registerPriority */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;Lorg/graalvm/compiler/options/OptionValues;)V
        10: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* op */
            aload 1 /* operand */
            aload 5 /* interval */
            iload 4 /* defPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.changeSpillDefinitionPos:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;I)V
        11: .line 286
            aload 3 /* registerPriority */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            if_acmpne 13
            aload 5 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.ordinal:()I
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.StartInMemory:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.ordinal:()I
            if_icmpgt 13
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 13
        12: .line 288
            aload 5 /* interval */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.StartInMemory:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setSpillState:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;)V
        13: .line 290
      StackMap locals:
      StackMap stack:
            aload 5 /* interval */
            aload 2 /* op */
            aload 1 /* operand */
            aload 5 /* interval */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.neverSpillConstants:()Z
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getSpillMoveFactory:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase.getMaterializedValue:(Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;ZLorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;)Ljdk/vm/ci/meta/JavaConstant;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.addMaterializationValue:(Ljdk/vm/ci/meta/JavaConstant;)V
        14: .line 292
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 16
        15: .line 293
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "add def: %s defPos %d (%s)"
            aload 5 /* interval */
            iload 4 /* defPos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.name:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        16: .line 295
      StackMap locals:
      StackMap stack:
            aload 5 /* interval */
            areturn
        end local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 4 // int defPos
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
        end local 2 // org.graalvm.compiler.lir.LIRInstruction op
        end local 1 // org.graalvm.compiler.lir.Variable operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   17     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0   17     1           operand  Lorg/graalvm/compiler/lir/Variable;
            0   17     2                op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0   17     3  registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            1   17     4            defPos  I
            2   17     5          interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
                  Name  Flags
      operand           
      op                
      registerPriority  

  private void addTemp(jdk.vm.ci.meta.AllocatableValue, int, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // jdk.vm.ci.meta.AllocatableValue operand
        start local 2 // int tempPos
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         0: .line 299
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 5
         1: .line 300
            aload 1 /* operand */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegisterValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
            astore 4 /* reg */
        start local 4 // jdk.vm.ci.code.RegisterValue reg
         2: .line 301
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 4 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.isAllocatable:(Ljdk/vm/ci/code/RegisterValue;)Z
            ifeq 7
         3: .line 302
            aload 0 /* this */
            aload 4 /* reg */
            iload 2 /* tempPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addFixedTemp:(Ljdk/vm/ci/code/RegisterValue;I)V
        end local 4 // jdk.vm.ci.code.RegisterValue reg
         4: .line 304
            goto 7
         5: .line 305
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 6
            aload 1 /* operand */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 6
            new java.lang.AssertionError
            dup
            aload 1 /* operand */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* operand */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            iload 2 /* tempPos */
            aload 3 /* registerPriority */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addVariableTemp:(Lorg/graalvm/compiler/lir/Variable;ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
         7: .line 308
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
        end local 2 // int tempPos
        end local 1 // jdk.vm.ci.meta.AllocatableValue operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    8     1           operand  Ljdk/vm/ci/meta/AllocatableValue;
            0    8     2           tempPos  I
            0    8     3  registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            2    4     4               reg  Ljdk/vm/ci/code/RegisterValue;
    MethodParameters:
                  Name  Flags
      operand           
      tempPos           
      registerPriority  

  private void addFixedTemp(jdk.vm.ci.code.RegisterValue, int);
    descriptor: (Ljdk/vm/ci/code/RegisterValue;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // jdk.vm.ci.code.RegisterValue reg
        start local 2 // int tempPos
         0: .line 311
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 1 /* reg */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateFixedInterval:(Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            astore 3 /* interval */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
         1: .line 312
            aload 3 /* interval */
            iload 2 /* tempPos */
            iload 2 /* tempPos */
            iconst_1
            iadd
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.addRange:(II)V
         2: .line 313
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 4
         3: .line 314
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "add fixed temp: %s, at %d"
            aload 3 /* interval */
            iload 2 /* tempPos */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;I)V
         4: .line 316
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval
        end local 2 // int tempPos
        end local 1 // jdk.vm.ci.code.RegisterValue reg
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    5     1       reg  Ljdk/vm/ci/code/RegisterValue;
            0    5     2   tempPos  I
            1    5     3  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
    MethodParameters:
         Name  Flags
      reg      
      tempPos  

  private void addVariableTemp(org.graalvm.compiler.lir.Variable, int, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority);
    descriptor: (Lorg/graalvm/compiler/lir/Variable;ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.lir.Variable operand
        start local 2 // int tempPos
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
         0: .line 319
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 1 /* operand */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateInterval:(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 321
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isEmpty:()Z
            ifeq 4
         2: .line 322
            aload 4 /* interval */
            iload 2 /* tempPos */
            iload 2 /* tempPos */
            iconst_1
            iadd
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.addRange:(II)V
         3: .line 323
            goto 6
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
         4: aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.from:()I
            iload 2 /* tempPos */
            if_icmple 6
         5: .line 324
            aload 4 /* interval */
            iload 2 /* tempPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setFrom:(I)V
         6: .line 327
      StackMap locals:
      StackMap stack:
            aload 4 /* interval */
            iload 2 /* tempPos */
            aload 3 /* registerPriority */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.addUsePos:(ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;Lorg/graalvm/compiler/options/OptionValues;)V
         7: .line 328
            aload 4 /* interval */
            aconst_null
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.addMaterializationValue:(Ljdk/vm/ci/meta/JavaConstant;)V
         8: .line 330
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 10
         9: .line 331
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "add temp: %s tempPos %d (%s)"
            aload 4 /* interval */
            iload 2 /* tempPos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.name:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 333
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriority
        end local 2 // int tempPos
        end local 1 // org.graalvm.compiler.lir.Variable operand
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0   11     1           operand  Lorg/graalvm/compiler/lir/Variable;
            0   11     2           tempPos  I
            0   11     3  registerPriority  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            1   11     4          interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    MethodParameters:
                  Name  Flags
      operand           
      tempPos           
      registerPriority  

  private void changeSpillDefinitionPos(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, int);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction op
        start local 2 // jdk.vm.ci.meta.AllocatableValue operand
        start local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        start local 4 // int defPos
         0: .line 342
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 1
            aload 3 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.isSplitParent:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            ldc "can only be called for split parents"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 344
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$lsra$TraceInterval$SpillState:()[I
            aload 3 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.ordinal:()I
            iaload
            tableswitch { // 1 - 5
                    1: 2
                    2: 6
                    3: 12
                    4: 12
                    5: 11
              default: 12
          }
         2: .line 347
      StackMap locals:
      StackMap stack:
            aload 3 /* interval */
            iload 4 /* defPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setSpillDefinitionPos:(I)V
         3: .line 348
            aload 1 /* op */
            instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
            ifne 13
         4: .line 350
            aload 3 /* interval */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoSpillStore:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setSpillState:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;)V
         5: .line 352
            goto 13
         6: .line 355
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 7
            iload 4 /* defPos */
            aload 3 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:()I
            if_icmple 7
            new java.lang.AssertionError
            dup
            ldc "positions are processed in reverse order when intervals are created"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 356
      StackMap locals:
      StackMap stack:
            iload 4 /* defPos */
            aload 3 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:()I
            iconst_2
            isub
            if_icmpge 10
         8: .line 361
            aload 3 /* interval */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoOptimization:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setSpillState:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;)V
         9: .line 362
            goto 13
        10: .line 364
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            iload 4 /* defPos */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 3 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:()I
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.blockForId:(I)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            ldc "block must be equal"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        11: .line 370
      StackMap locals:
      StackMap stack:
            goto 13
        12: .line 373
      StackMap locals:
      StackMap stack:
            ldc "other states not allowed at this time"
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        13: .line 375
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int defPos
        end local 3 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 2 // jdk.vm.ci.meta.AllocatableValue operand
        end local 1 // org.graalvm.compiler.lir.LIRInstruction op
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0   14     1        op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0   14     2   operand  Ljdk/vm/ci/meta/AllocatableValue;
            0   14     3  interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0   14     4    defPos  I
    MethodParameters:
          Name  Flags
      op        
      operand   
      interval  
      defPos    

  private void addRegisterHint(org.graalvm.compiler.lir.LIRInstruction, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.LIRInstruction$OperandMode, java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>, );
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction op
        start local 2 // jdk.vm.ci.meta.Value targetValue
        start local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        start local 4 // java.util.EnumSet flags
        start local 5 // boolean hintAtDef
         0: .line 378
            aload 4 /* flags */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.HINT:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 3
            aload 2 /* targetValue */
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase.isVariableOrRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 3
         1: .line 380
            new org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$6
            dup
            aload 0 /* this */
            iload 5 /* hintAtDef */
            aload 2 /* targetValue */
            aload 1 /* op */
            invokespecial org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$6.<init>:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;ZLjdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction;)V
            astore 6 /* registerHintProc */
        start local 6 // org.graalvm.compiler.lir.ValueProcedure registerHintProc
         2: .line 422
            aload 1 /* op */
            aload 2 /* targetValue */
            aload 3 /* mode */
            aload 6 /* registerHintProc */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachRegisterHint:(Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Lorg/graalvm/compiler/lir/ValueProcedure;)Ljdk/vm/ci/meta/Value;
            pop
        end local 6 // org.graalvm.compiler.lir.ValueProcedure registerHintProc
         3: .line 424
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean hintAtDef
        end local 4 // java.util.EnumSet flags
        end local 3 // org.graalvm.compiler.lir.LIRInstruction$OperandMode mode
        end local 2 // jdk.vm.ci.meta.Value targetValue
        end local 1 // org.graalvm.compiler.lir.LIRInstruction op
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    4     1                op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    4     2       targetValue  Ljdk/vm/ci/meta/Value;
            0    4     3              mode  Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;
            0    4     4             flags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
            0    4     5         hintAtDef  Z
            2    3     6  registerHintProc  Lorg/graalvm/compiler/lir/ValueProcedure;
    Signature: (Lorg/graalvm/compiler/lir/LIRInstruction;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/LIRInstruction$OperandMode;Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;Z)V
    MethodParameters:
             Name  Flags
      op           final
      targetValue  final
      mode         
      flags        
      hintAtDef    final

  private static boolean optimizeMethodArgument(jdk.vm.ci.meta.Value);
    descriptor: (Ljdk/vm/ci/meta/Value;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.vm.ci.meta.Value value
         0: .line 431
            aload 0 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.isStackSlot:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 1
            aload 0 /* value */
            invokestatic jdk.vm.ci.code.ValueUtil.asStackSlot:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/StackSlot;
            invokevirtual jdk.vm.ci.code.StackSlot.isInCallerFrame:()Z
            ifeq 1
            aload 0 /* value */
            invokestatic org.graalvm.compiler.core.common.LIRKind.isValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.vm.ci.meta.Value value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  value  Ljdk/vm/ci/meta/Value;
    MethodParameters:
       Name  Flags
      value  

  private static org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriorityOfOutputOperand(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
         0: .line 438
            aload 0 /* op */
            instanceof org.graalvm.compiler.lir.StandardOp$LabelOp
            ifeq 2
         1: .line 440
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            areturn
         2: .line 442
      StackMap locals:
      StackMap stack:
            aload 0 /* op */
            invokestatic org.graalvm.compiler.lir.StandardOp$ValueMoveOp.isValueMoveOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            ifeq 6
         3: .line 443
            aload 0 /* op */
            invokestatic org.graalvm.compiler.lir.StandardOp$ValueMoveOp.asValueMoveOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/StandardOp$ValueMoveOp;
            astore 1 /* move */
        start local 1 // org.graalvm.compiler.lir.StandardOp$ValueMoveOp move
         4: .line 444
            aload 1 /* move */
            invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getInput:()Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.optimizeMethodArgument:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 6
         5: .line 445
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            areturn
        end local 1 // org.graalvm.compiler.lir.StandardOp$ValueMoveOp move
         6: .line 450
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            areturn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    op  Lorg/graalvm/compiler/lir/LIRInstruction;
            4    6     1  move  Lorg/graalvm/compiler/lir/StandardOp$ValueMoveOp;
    MethodParameters:
      Name  Flags
      op    

  private static org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority registerPriorityOfInputOperand(java.util.EnumSet<org.graalvm.compiler.lir.LIRInstruction$OperandFlag>);
    descriptor: (Ljava/util/EnumSet;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.EnumSet flags
         0: .line 458
            aload 0 /* flags */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.OUTGOING:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 459
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            areturn
         2: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* flags */
            getstatic org.graalvm.compiler.lir.LIRInstruction$OperandFlag.STACK:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;
            invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 462
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.ShouldHaveRegister:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            areturn
         4: .line 465
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.MustHaveRegister:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            areturn
        end local 0 // java.util.EnumSet flags
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  flags  Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;
    Signature: (Ljava/util/EnumSet<Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;>;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
    MethodParameters:
       Name  Flags
      flags  

  private void buildIntervals();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=21, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
         0: .line 471
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "build intervals"
            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 474
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.getCallerSavedRegisters:()Ljdk/vm/ci/code/RegisterArray;
            astore 4 /* callerSaveRegs */
        start local 4 // jdk.vm.ci.code.RegisterArray callerSaveRegs
         3: .line 475
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.numInstructions:I
            istore 5 /* instructionIndex */
        start local 5 // int instructionIndex
         4: .line 478
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 6 /* blocks */
        start local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] blocks
         5: .line 479
            aload 6 /* blocks */
            arraylength
            iconst_1
            isub
            istore 7 /* blockId */
        start local 7 // int blockId
         6: goto 56
         7: .line 480
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int
      StackMap stack:
            aload 6 /* blocks */
            iload 7 /* blockId */
            aaload
            astore 8 /* block */
        start local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         8: .line 482
            aconst_null
            astore 9
            aconst_null
            astore 10
         9: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "handle block %d"
            aload 8 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;I)Lorg/graalvm/compiler/debug/Indent;
            astore 11 /* indent2 */
        start local 11 // org.graalvm.compiler.debug.Indent indent2
        10: .line 483
            aload 0 /* this */
            aload 8 /* block */
            iload 5 /* instructionIndex */
            iconst_1
            isub
            iconst_1
            ishl
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.handleBlockEnd:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;I)V
        11: .line 489
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 8 /* block */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            astore 12 /* instructions */
        start local 12 // java.util.ArrayList instructions
        12: .line 490
            aload 12 /* instructions */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 13 /* instIdx */
        start local 13 // int instIdx
        13: goto 40
        14: .line 491
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.ArrayList int
      StackMap stack:
            aload 12 /* instructions */
            iload 13 /* instIdx */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 14 /* op */
        start local 14 // org.graalvm.compiler.lir.LIRInstruction op
        15: .line 493
            iinc 5 /* instructionIndex */ -1
        16: .line 494
            aload 0 /* this */
            aload 8 /* block */
            aload 14 /* op */
            iload 5 /* instructionIndex */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.numberInstruction:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/LIRInstruction;I)V
        17: .line 495
            aload 14 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            istore 15 /* opId */
        start local 15 // int opId
        18: .line 497
            aconst_null
            astore 16
            aconst_null
            astore 17
        19: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "handle inst %d: %s"
            iload 15 /* opId */
            aload 14 /* op */
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;ILjava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
            astore 18 /* indent3 */
        start local 18 // org.graalvm.compiler.debug.Indent indent3
        20: .line 503
            aload 14 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.destroysCallerSavedRegisters:()Z
            ifeq 28
        21: .line 504
            aload 4 /* callerSaveRegs */
            invokevirtual jdk.vm.ci.code.RegisterArray.iterator:()Ljava/util/Iterator;
            astore 20
            goto 25
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.ArrayList int org.graalvm.compiler.lir.LIRInstruction int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent top java.util.Iterator
      StackMap stack:
        22: aload 20
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.vm.ci.code.Register
            astore 19 /* r */
        start local 19 // jdk.vm.ci.code.Register r
        23: .line 505
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 19 /* r */
            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
            ifeq 25
        24: .line 506
            aload 0 /* this */
            aload 19 /* r */
            invokevirtual jdk.vm.ci.code.Register.asValue:()Ljdk/vm/ci/code/RegisterValue;
            iload 15 /* opId */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addTemp:(Ljdk/vm/ci/meta/AllocatableValue;ILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
        end local 19 // jdk.vm.ci.code.Register r
        25: .line 504
      StackMap locals:
      StackMap stack:
            aload 20
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        26: .line 509
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 28
        27: .line 510
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "operation destroys all caller-save registers"
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;)V
        28: .line 514
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.ArrayList int org.graalvm.compiler.lir.LIRInstruction int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack:
            aload 14 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.outputConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachOutput:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
        29: .line 515
            aload 14 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.tempConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachTemp:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
        30: .line 516
            aload 14 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.aliveConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachAlive:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
        31: .line 517
            aload 14 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.inputConsumer:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachInput:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
        32: .line 525
            aload 14 /* op */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.stateProc:Lorg/graalvm/compiler/lir/InstructionValueConsumer;
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.visitEachState:(Lorg/graalvm/compiler/lir/InstructionValueConsumer;)V
        33: .line 526
            aload 18 /* indent3 */
            ifnull 39
            aload 18 /* indent3 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 39
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 16
            aload 18 /* indent3 */
            ifnull 35
            aload 18 /* indent3 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 18 // org.graalvm.compiler.debug.Indent indent3
      StackMap locals:
      StackMap stack:
        35: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        36: astore 17
            aload 16
            ifnonnull 37
            aload 17
            astore 16
            goto 38
      StackMap locals:
      StackMap stack:
        37: aload 16
            aload 17
            if_acmpeq 38
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        38: aload 16
            athrow
        end local 15 // int opId
        end local 14 // org.graalvm.compiler.lir.LIRInstruction op
        39: .line 490
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.ArrayList int
      StackMap stack:
            iinc 13 /* instIdx */ -1
      StackMap locals:
      StackMap stack:
        40: iload 13 /* instIdx */
            iconst_1
            if_icmpge 14
        end local 13 // int instIdx
        41: .line 530
            iinc 5 /* instructionIndex */ -1
        42: .line 531
            aload 0 /* this */
            aload 8 /* block */
            aload 12 /* instructions */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            iload 5 /* instructionIndex */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.numberInstruction:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/LIRInstruction;I)V
        43: .line 532
            iload 7 /* blockId */
            ifne 44
            aconst_null
            goto 45
      StackMap locals:
      StackMap stack:
        44: aload 6 /* blocks */
            iload 7 /* blockId */
            iconst_1
            isub
            aaload
      StackMap locals:
      StackMap stack: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
        45: astore 13 /* pred */
        start local 13 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        46: .line 533
            aload 0 /* this */
            aload 8 /* block */
            aload 13 /* pred */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.handleBlockBegin:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 13 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        end local 12 // java.util.ArrayList instructions
        47: .line 534
            aload 11 /* indent2 */
            ifnull 53
            aload 11 /* indent2 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 53
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] int org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        48: astore 9
            aload 11 /* indent2 */
            ifnull 49
            aload 11 /* indent2 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 11 // org.graalvm.compiler.debug.Indent indent2
      StackMap locals:
      StackMap stack:
        49: aload 9
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: astore 10
            aload 9
            ifnonnull 51
            aload 10
            astore 9
            goto 52
      StackMap locals:
      StackMap stack:
        51: aload 9
            aload 10
            if_acmpeq 52
            aload 9
            aload 10
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        52: aload 9
            athrow
        53: .line 535
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            iconst_5
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 55
        54: .line 536
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            new java.lang.StringBuilder
            dup
            ldc "After Block "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* block */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.printIntervals:(Ljava/lang/String;)V
        end local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        55: .line 479
      StackMap locals:
      StackMap stack:
            iinc 7 /* blockId */ -1
      StackMap locals:
      StackMap stack:
        56: iload 7 /* blockId */
            ifge 7
        end local 7 // int blockId
        57: .line 539
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 58
            iload 5 /* instructionIndex */
            ifeq 58
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "not at start?"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* instructionIndex */
            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
        58: .line 540
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* blocks */
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.handleTraceBegin:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        59: .line 542
            getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase$Options.TraceRAuseInterTraceHints:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            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;
            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 61
        60: .line 543
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addInterTraceHints:()V
        61: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 69
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
      StackMap stack:
        62: aload 10
            iload 8
            aaload
            astore 7 /* interval */
        start local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        63: .line 547
            aload 7 /* interval */
            ifnull 68
        64: .line 548
            aload 7 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillState:()Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoDefinitionFound:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.equals:(Ljava/lang/Object;)Z
            ifeq 66
            aload 7 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillDefinitionPos:()I
            iconst_m1
            if_icmpeq 66
        65: .line 550
            aload 7 /* interval */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoSpillStore:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setSpillState:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;)V
        66: .line 552
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
      StackMap stack:
            aload 7 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.preSpilledAllocated:()Z
            ifeq 68
        67: .line 554
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 7 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.assignSpillSlot:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;)V
        end local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        68: .line 546
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval[]
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        69: iload 8
            iload 9
            if_icmplt 62
        70: .line 559
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.fixedIntervals:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 75
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent jdk.vm.ci.code.RegisterArray int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval[]
      StackMap stack:
        71: aload 10
            iload 8
            aaload
            astore 7 /* interval1 */
        start local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval1
        72: .line 560
            aload 7 /* interval1 */
            ifnull 74
        73: .line 562
            aload 7 /* interval1 */
            iconst_m1
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval.addRange:(II)V
        end local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.FixedInterval interval1
        74: .line 559
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        75: iload 8
            iload 9
            if_icmplt 71
        end local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] blocks
        end local 5 // int instructionIndex
        end local 4 // jdk.vm.ci.code.RegisterArray callerSaveRegs
        76: .line 565
            aload 3 /* indent */
            ifnull 82
            aload 3 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 82
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack: java.lang.Throwable
        77: astore 1
            aload 3 /* indent */
            ifnull 78
            aload 3 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 3 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        78: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        79: astore 2
            aload 1
            ifnonnull 80
            aload 2
            astore 1
            goto 81
      StackMap locals:
      StackMap stack:
        80: aload 1
            aload 2
            if_acmpeq 81
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        81: aload 1
            athrow
        82: .line 566
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   83     0              this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            2   78     3            indent  Lorg/graalvm/compiler/debug/Indent;
            3   76     4    callerSaveRegs  Ljdk/vm/ci/code/RegisterArray;
            4   76     5  instructionIndex  I
            5   76     6            blocks  [Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            6   57     7           blockId  I
            8   55     8             block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
           10   49    11           indent2  Lorg/graalvm/compiler/debug/Indent;
           12   47    12      instructions  Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
           13   41    13           instIdx  I
           15   39    14                op  Lorg/graalvm/compiler/lir/LIRInstruction;
           18   39    15              opId  I
           20   35    18           indent3  Lorg/graalvm/compiler/debug/Indent;
           23   25    19                 r  Ljdk/vm/ci/code/Register;
           46   47    13              pred  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
           63   68     7          interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           72   74     7         interval1  Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
      Exception table:
        from    to  target  type
          20    33      34  any
          19    36      36  any
          10    47      48  any
           9    50      50  any
           2    76      77  any
           1    79      79  any

  private void handleTraceBegin(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         0: .line 569
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.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
            astore 2 /* op */
        start local 2 // org.graalvm.compiler.lir.LIRInstruction op
         1: .line 570
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getGlobalLivenessInfo:()Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            astore 3 /* livenessInfo */
        start local 3 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
         2: .line 571
            aload 3 /* livenessInfo */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockIn:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.LIRInstruction org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo top int int int[]
      StackMap stack:
         3: aload 7
            iload 5
            iaload
            istore 4 /* varNum */
        start local 4 // int varNum
         4: .line 572
            aload 0 /* this */
            iload 4 /* varNum */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.isAliveAtBlockBegin:(I)Z
            ifeq 6
         5: .line 573
            aload 0 /* this */
            aload 3 /* livenessInfo */
            iload 4 /* varNum */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getVariable:(I)Lorg/graalvm/compiler/lir/Variable;
            aload 2 /* op */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addVariableDef:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            pop
        end local 4 // int varNum
         6: .line 571
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 3
         8: .line 576
            return
        end local 3 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        end local 2 // org.graalvm.compiler.lir.LIRInstruction op
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    9     1         block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            1    9     2            op  Lorg/graalvm/compiler/lir/LIRInstruction;
            2    9     3  livenessInfo  Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            4    6     4        varNum  I
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
    MethodParameters:
       Name  Flags
      block  

  private boolean isAliveAtBlockBegin(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // int varNum
         0: .line 579
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            iload 1 /* varNum */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int varNum
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    2     1  varNum  I
    MethodParameters:
        Name  Flags
      varNum  

  private void handleBlockBegin(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        start local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
         0: .line 583
            aload 1 /* block */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.isMerge:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            ifeq 16
         1: .line 586
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 1 /* block */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiIn:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
            astore 3 /* label */
        start local 3 // org.graalvm.compiler.lir.StandardOp$LabelOp label
         2: .line 587
            aload 2 /* pred */
            ifnonnull 3
            aconst_null
            goto 4
      StackMap locals: org.graalvm.compiler.lir.StandardOp$LabelOp
      StackMap stack:
         3: aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 2 /* pred */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiOut:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.lir.StandardOp$JumpOp
         4: astore 4 /* jump */
        start local 4 // org.graalvm.compiler.lir.StandardOp$JumpOp jump
         5: .line 588
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 15
         7: .line 589
      StackMap locals: org.graalvm.compiler.lir.StandardOp$JumpOp int
      StackMap stack:
            aload 3 /* label */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.getIncomingValue:(I)Ljdk/vm/ci/meta/Value;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            astore 6 /* var */
        start local 6 // org.graalvm.compiler.lir.Variable var
         8: .line 590
            aload 0 /* this */
            aload 6 /* var */
            aload 3 /* label */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.ShouldHaveRegister:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addVariableDef:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 7 /* toInterval */
        start local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval toInterval
         9: .line 592
            aload 4 /* jump */
            ifnull 14
        10: .line 593
            aload 4 /* jump */
            iload 5 /* i */
            invokevirtual org.graalvm.compiler.lir.StandardOp$JumpOp.getOutgoingValue:(I)Ljdk/vm/ci/meta/Value;
            astore 8 /* out */
        start local 8 // jdk.vm.ci.meta.Value out
        11: .line 594
            aload 8 /* out */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 14
        12: .line 595
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 8 /* out */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateInterval:(Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 9 /* fromInterval */
        start local 9 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval fromInterval
        13: .line 596
            aload 7 /* toInterval */
            aload 9 /* fromInterval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setLocationHint:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;)V
        end local 9 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval fromInterval
        end local 8 // jdk.vm.ci.meta.Value out
        end local 7 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval toInterval
        end local 6 // org.graalvm.compiler.lir.Variable var
        14: .line 588
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            aload 3 /* label */
            invokevirtual org.graalvm.compiler.lir.StandardOp$LabelOp.getPhiSize:()I
            if_icmplt 7
        end local 5 // int i
        end local 4 // org.graalvm.compiler.lir.StandardOp$JumpOp jump
        end local 3 // org.graalvm.compiler.lir.StandardOp$LabelOp label
        16: .line 601
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0   17     1         block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   17     2          pred  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            2   16     3         label  Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
            5   16     4          jump  Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
            6   16     5             i  I
            8   14     6           var  Lorg/graalvm/compiler/lir/Variable;
            9   14     7    toInterval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           11   14     8           out  Ljdk/vm/ci/meta/Value;
           13   14     9  fromInterval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;)V
    MethodParameters:
       Name  Flags
      block  
      pred   

  private void handleBlockEnd(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, );
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        start local 2 // int opId
         0: .line 605
            iload 2 /* opId */
            iconst_1
            iadd
            istore 3 /* aliveOpId */
        start local 3 // int aliveOpId
         1: .line 606
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getGlobalLivenessInfo:()Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            astore 4 /* livenessInfo */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
         2: .line 607
            aload 4 /* livenessInfo */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockOut:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 7
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo top int int int[]
      StackMap stack:
         3: aload 8
            iload 6
            iaload
            istore 5 /* varNum */
        start local 5 // int varNum
         4: .line 608
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            iload 5 /* varNum */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            ifnonnull 6
         5: .line 609
            aload 0 /* this */
            aload 4 /* livenessInfo */
            iload 5 /* varNum */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getVariable:(I)Lorg/graalvm/compiler/lir/Variable;
            iconst_0
            iload 3 /* aliveOpId */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$RegisterPriority.None:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addVariableUse:(Lorg/graalvm/compiler/lir/Variable;IILorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$RegisterPriority;)V
        end local 5 // int varNum
         6: .line 607
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         7: iload 6
            iload 7
            if_icmplt 3
         8: .line 612
            return
        end local 4 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        end local 3 // int aliveOpId
        end local 2 // int opId
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    9     1         block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0    9     2          opId  I
            1    9     3     aliveOpId  I
            2    9     4  livenessInfo  Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            4    6     5        varNum  I
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;I)V
    MethodParameters:
       Name  Flags
      block  
      opId   

  private void numberInstruction(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.LIRInstruction, );
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/LIRInstruction;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        start local 2 // org.graalvm.compiler.lir.LIRInstruction op
        start local 3 // int index
         0: .line 615
            iload 3 /* index */
            iconst_1
            ishl
            istore 4 /* opId */
        start local 4 // int opId
         1: .line 616
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 2
            aload 2 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            iconst_m1
            if_icmpeq 2
            aload 2 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            iload 4 /* opId */
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            ldc "must match"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 617
      StackMap locals: int
      StackMap stack:
            aload 2 /* op */
            iload 4 /* opId */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.setId:(I)V
         3: .line 618
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            iload 3 /* index */
            aload 2 /* op */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.putOpIdMaps:(ILorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
         4: .line 619
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            iload 4 /* opId */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.instructionForId:(I)Lorg/graalvm/compiler/lir/LIRInstruction;
            aload 2 /* op */
            if_acmpeq 5
            new java.lang.AssertionError
            dup
            ldc "must match"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 620
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int opId
        end local 3 // int index
        end local 2 // org.graalvm.compiler.lir.LIRInstruction op
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    6     1  block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0    6     2     op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    6     3  index  I
            1    6     4   opId  I
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/LIRInstruction;I)V
    MethodParameters:
       Name  Flags
      block  
      op     
      index  

  private void addInterTraceHints();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
         0: .line 630
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            ldc "InterTraceHints"
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 3 /* s */
        start local 3 // org.graalvm.compiler.debug.DebugContext$Scope s
         2: .line 631
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            iconst_0
            aaload
            astore 4 /* traceHeadBlock */
        start local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase traceHeadBlock
         3: .line 632
            aload 4 /* traceHeadBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessorCount:()I
            ifne 6
         4: .line 656
            aload 3 /* s */
            ifnull 5
            aload 3 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
         5: .line 633
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            return
         6: .line 635
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 7
            aload 4 /* traceHeadBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessorCount:()I
            iconst_1
            if_icmpeq 7
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Trace head with more than one predecessor?!"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* traceHeadBlock */
            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
         7: .line 637
      StackMap locals:
      StackMap stack:
            aload 4 /* traceHeadBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            iconst_0
            aaload
            astore 5 /* pred */
        start local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
         8: .line 638
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 5 /* pred */
            invokevirtual org.graalvm.compiler.core.common.alloc.TraceBuilderResult.getTraceForBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/alloc/Trace;
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getId:()I
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.traceBuilderResult:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            aload 4 /* traceHeadBlock */
            invokevirtual org.graalvm.compiler.core.common.alloc.TraceBuilderResult.getTraceForBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/alloc/Trace;
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getId:()I
            if_icmplt 9
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not yet allocated? "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* pred */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 640
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getGlobalLivenessInfo:()Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            astore 6 /* livenessInfo */
        start local 6 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        10: .line 641
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            aload 4 /* traceHeadBlock */
            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.StandardOp$LabelOp
            astore 7 /* label */
        start local 7 // org.graalvm.compiler.lir.StandardOp$LabelOp label
        11: .line 643
            aload 6 /* livenessInfo */
            aload 4 /* traceHeadBlock */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockIn:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
            astore 8 /* liveVars */
        start local 8 // int[] liveVars
        12: .line 644
            aload 6 /* livenessInfo */
            aload 5 /* pred */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getOutLocation:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[Ljdk/vm/ci/meta/Value;
            astore 9 /* outLocation */
        start local 9 // jdk.vm.ci.meta.Value[] outLocation
        13: .line 646
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        14: goto 22
        15: .line 647
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo org.graalvm.compiler.lir.StandardOp$LabelOp int[] jdk.vm.ci.meta.Value[] int
      StackMap stack:
            aload 8 /* liveVars */
            iload 10 /* i */
            iaload
            istore 11 /* varNum */
        start local 11 // int varNum
        16: .line 648
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            iload 11 /* varNum */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 12 /* toInterval */
        start local 12 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval toInterval
        17: .line 649
            aload 12 /* toInterval */
            ifnull 21
            aload 12 /* toInterval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.hasHint:()Z
            ifne 21
        18: .line 650
            aload 9 /* outLocation */
            iload 10 /* i */
            aaload
            astore 13 /* fromValue */
        start local 13 // jdk.vm.ci.meta.Value fromValue
        19: .line 651
            aload 13 /* fromValue */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isConstantValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 21
        20: .line 652
            aload 0 /* this */
            aload 7 /* label */
            iload 11 /* varNum */
            aload 13 /* fromValue */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.addInterTraceHint:(Lorg/graalvm/compiler/lir/StandardOp$LabelOp;ILjdk/vm/ci/meta/Value;)V
        end local 13 // jdk.vm.ci.meta.Value fromValue
        end local 12 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval toInterval
        end local 11 // int varNum
        21: .line 646
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 10 /* i */
            aload 8 /* liveVars */
            arraylength
            if_icmplt 15
        end local 10 // int i
        end local 9 // jdk.vm.ci.meta.Value[] outLocation
        end local 8 // int[] liveVars
        end local 7 // org.graalvm.compiler.lir.StandardOp$LabelOp label
        end local 6 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        end local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        end local 4 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase traceHeadBlock
        23: .line 656
            aload 3 /* s */
            ifnull 31
            aload 3 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 31
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        24: astore 1
            aload 3 /* s */
            ifnull 25
            aload 3 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 3 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        25: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 2
            aload 1
            ifnonnull 27
            aload 2
            astore 1
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 1
            aload 2
            if_acmpeq 28
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 1
            athrow
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser
      StackMap stack: java.lang.Throwable
        29: astore 1 /* e */
        start local 1 // java.lang.Throwable e
        30: .line 657
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            aload 1 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // java.lang.Throwable e
        31: .line 659
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   32     0            this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            2   25     3               s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            3   23     4  traceHeadBlock  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            8   23     5            pred  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
           10   23     6    livenessInfo  Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
           11   23     7           label  Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
           12   23     8        liveVars  [I
           13   23     9     outLocation  [Ljdk/vm/ci/meta/Value;
           14   23    10               i  I
           16   21    11          varNum  I
           17   21    12      toInterval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
           19   21    13       fromValue  Ljdk/vm/ci/meta/Value;
           30   31     1               e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     4      24  any
           6    23      24  any
           1     5      26  any
           6    26      26  any
           0     5      29  Class java.lang.Throwable
           6    29      29  Class java.lang.Throwable

  private void addInterTraceHint(org.graalvm.compiler.lir.StandardOp$LabelOp, int, jdk.vm.ci.meta.Value);
    descriptor: (Lorg/graalvm/compiler/lir/StandardOp$LabelOp;ILjdk/vm/ci/meta/Value;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // org.graalvm.compiler.lir.StandardOp$LabelOp label
        start local 2 // int varNum
        start local 3 // jdk.vm.ci.meta.Value fromValue
         0: .line 662
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$assertionsDisabled:Z
            ifne 1
            aload 3 /* fromValue */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            aload 3 /* fromValue */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            aload 3 /* fromValue */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceUtil.isShadowedRegisterValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Wrong fromValue: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* fromValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 663
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            iload 2 /* varNum */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.intervalFor:(I)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            astore 4 /* to */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval to
         2: .line 664
            aload 4 /* to */
            ifnonnull 4
         3: .line 666
            return
         4: .line 668
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval
      StackMap stack:
            aload 3 /* fromValue */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 8
         5: .line 669
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 3 /* fromValue */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegisterValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateFixedInterval:(Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            astore 5 /* from */
        start local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint from
         6: .line 670
            aload 1 /* label */
            aload 4 /* to */
            aload 5 /* from */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.setHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;Lorg/graalvm/compiler/debug/DebugContext;)V
        end local 5 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint from
         7: .line 671
            goto 16
      StackMap locals:
      StackMap stack:
         8: aload 3 /* fromValue */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 11
         9: .line 672
            aload 1 /* label */
            aload 4 /* to */
            aload 3 /* fromValue */
            checkcast jdk.vm.ci.meta.AllocatableValue
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.setSpillSlot:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/debug/DebugContext;)V
        10: .line 673
            goto 16
      StackMap locals:
      StackMap stack:
        11: getstatic org.graalvm.compiler.lir.alloc.trace.TraceRegisterAllocationPhase$Options.TraceRAshareSpillInformation:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            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;
            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 16
            aload 3 /* fromValue */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceUtil.isShadowedRegisterValue:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 16
        12: .line 674
            aload 3 /* fromValue */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceUtil.asShadowedRegisterValue:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/alloc/trace/ShadowedRegisterValue;
            astore 5 /* shadowedRegisterValue */
        start local 5 // org.graalvm.compiler.lir.alloc.trace.ShadowedRegisterValue shadowedRegisterValue
        13: .line 675
            aload 0 /* this */
            aload 5 /* shadowedRegisterValue */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.ShadowedRegisterValue.getRegister:()Ljdk/vm/ci/code/RegisterValue;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.getIntervalHint:(Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            astore 6 /* from */
        start local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint from
        14: .line 676
            aload 1 /* label */
            aload 4 /* to */
            aload 6 /* from */
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.setHint:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;Lorg/graalvm/compiler/debug/DebugContext;)V
        15: .line 677
            aload 1 /* label */
            aload 4 /* to */
            aload 5 /* shadowedRegisterValue */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.ShadowedRegisterValue.getStackSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.setSpillSlot:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/debug/DebugContext;)V
        end local 6 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint from
        end local 5 // org.graalvm.compiler.lir.alloc.trace.ShadowedRegisterValue shadowedRegisterValue
        16: .line 679
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval to
        end local 3 // jdk.vm.ci.meta.Value fromValue
        end local 2 // int varNum
        end local 1 // org.graalvm.compiler.lir.StandardOp$LabelOp label
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   17     0                   this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0   17     1                  label  Lorg/graalvm/compiler/lir/StandardOp$LabelOp;
            0   17     2                 varNum  I
            0   17     3              fromValue  Ljdk/vm/ci/meta/Value;
            2   17     4                     to  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            6    7     5                   from  Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
           13   16     5  shadowedRegisterValue  Lorg/graalvm/compiler/lir/alloc/trace/ShadowedRegisterValue;
           14   16     6                   from  Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
    MethodParameters:
           Name  Flags
      label      
      varNum     
      fromValue  

  private static void setHint(org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;Lorg/graalvm/compiler/debug/DebugContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval to
        start local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint from
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 682
            aload 1 /* to */
            iconst_0
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.locationHint:(Z)Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            astore 4 /* currentHint */
        start local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint currentHint
         1: .line 683
            aload 4 /* currentHint */
            ifnonnull 5
         2: .line 688
            aload 1 /* to */
            aload 2 /* from */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setLocationHint:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;)V
         3: .line 689
            aload 3 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 5
         4: .line 690
            aload 3 /* debug */
            ldc "operation at opId %d: added hint from interval %s to %s"
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* from */
            aload 1 /* to */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 693
      StackMap locals: org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint currentHint
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint from
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval to
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0           op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    6     1           to  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    6     2         from  Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
            0    6     3        debug  Lorg/graalvm/compiler/debug/DebugContext;
            1    6     4  currentHint  Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
    MethodParameters:
       Name  Flags
      op     final
      to     
      from   
      debug  

  private static void setSpillSlot(org.graalvm.compiler.lir.LIRInstruction, org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval, jdk.vm.ci.meta.AllocatableValue, org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/debug/DebugContext;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.LIRInstruction op
        start local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        start local 2 // jdk.vm.ci.meta.AllocatableValue spillSlot
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 696
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnonnull 6
         1: .line 697
            aload 1 /* interval */
            aload 2 /* spillSlot */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setSpillSlot:(Ljdk/vm/ci/meta/AllocatableValue;)V
         2: .line 698
            aload 1 /* interval */
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.StartInMemory:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.setSpillState:(Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;)V
         3: .line 699
            aload 3 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 8
         4: .line 700
            aload 3 /* debug */
            ldc "operation at opId %d: added spill slot %s to interval %s"
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* spillSlot */
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 702
            goto 8
      StackMap locals:
      StackMap stack:
         6: aload 3 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 8
         7: .line 703
            aload 3 /* debug */
            ldc "operation at opId %d: has already a slot assigned %s"
            aload 0 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            aload 1 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;ILjava/lang/Object;)V
         8: .line 705
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // jdk.vm.ci.meta.AllocatableValue spillSlot
        end local 1 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval interval
        end local 0 // org.graalvm.compiler.lir.LIRInstruction op
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0         op  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    9     1   interval  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            0    9     2  spillSlot  Ljdk/vm/ci/meta/AllocatableValue;
            0    9     3      debug  Lorg/graalvm/compiler/debug/DebugContext;
    MethodParameters:
           Name  Flags
      op         
      interval   
      spillSlot  
      debug      

  private org.graalvm.compiler.lir.alloc.trace.lsra.IntervalHint getIntervalHint(jdk.vm.ci.meta.AllocatableValue);
    descriptor: (Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/IntervalHint;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
        start local 1 // jdk.vm.ci.meta.AllocatableValue from
         0: .line 708
            aload 1 /* from */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifeq 2
         1: .line 709
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 1 /* from */
            invokestatic jdk.vm.ci.code.ValueUtil.asRegisterValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/RegisterValue;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateFixedInterval:(Ljdk/vm/ci/code/RegisterValue;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/FixedInterval;
            areturn
         2: .line 711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.allocator:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanPhase$TraceLinearScan;
            aload 1 /* from */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.asVariable:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan.getOrCreateInterval:(Lorg/graalvm/compiler/lir/Variable;)Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval;
            areturn
        end local 1 // jdk.vm.ci.meta.AllocatableValue from
        end local 0 // org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceLinearScanLifetimeAnalysisPhase$Analyser;
            0    3     1  from  Ljdk/vm/ci/meta/AllocatableValue;
    MethodParameters:
      Name  Flags
      from  

  static int[] $SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$lsra$TraceInterval$SpillState();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 88
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$lsra$TraceInterval$SpillState:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.values:()[Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoDefinitionFound:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoOptimization:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.ordinal:()I
            iconst_5
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.NoSpillStore:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.SpillStore:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.ordinal:()I
            iconst_3
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.StartInMemory:Lorg/graalvm/compiler/lir/alloc/trace/lsra/TraceInterval$SpillState;
            invokevirtual org.graalvm.compiler.lir.alloc.trace.lsra.TraceInterval$SpillState.ordinal:()I
            iconst_4
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            dup
            putstatic org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser.$SWITCH_TABLE$org$graalvm$compiler$lir$alloc$trace$lsra$TraceInterval$SpillState:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
}
SourceFile: "TraceLinearScanLifetimeAnalysisPhase.java"
NestHost: org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase
InnerClasses:
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
  public final OperandMode = org.graalvm.compiler.lir.LIRInstruction$OperandMode of org.graalvm.compiler.lir.LIRInstruction
  public JumpOp = org.graalvm.compiler.lir.StandardOp$JumpOp of org.graalvm.compiler.lir.StandardOp
  public final LabelOp = org.graalvm.compiler.lir.StandardOp$LabelOp of org.graalvm.compiler.lir.StandardOp
  public abstract ValueMoveOp = org.graalvm.compiler.lir.StandardOp$ValueMoveOp of org.graalvm.compiler.lir.StandardOp
  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
  public final Analyser = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase
  org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$1
  org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$2
  org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$3
  org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$4
  org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$5
  org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanLifetimeAnalysisPhase$Analyser$6
  public final TraceLinearScan = org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase$TraceLinearScan of org.graalvm.compiler.lir.alloc.trace.lsra.TraceLinearScanPhase
  public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool