public class org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase extends org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase
  super_class: org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase
{
  private static final org.graalvm.compiler.lir.alloc.lsra.LinearScan$IntervalPredicate mustStoreAtDefinition;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$IntervalPredicate;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected final org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator;
    descriptor: Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 55
            ldc Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanEliminateSpillMovePhase;
            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.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
         3: .line 64
            new org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase$1
            dup
            invokespecial org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase$1.<init>:()V
            putstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.mustStoreAtDefinition:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$IntervalPredicate;
         4: .line 70
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.graalvm.compiler.lir.alloc.lsra.LinearScan);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
         0: .line 74
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase.<init>:()V
         1: .line 75
            aload 0 /* this */
            aload 1 /* allocator */
            putfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
         2: .line 76
            return
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanEliminateSpillMovePhase;
            0    3     1  allocator  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
    MethodParameters:
           Name  Flags
      allocator  

  protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
        start local 1 // jdk.vm.ci.code.TargetDescription target
        start local 2 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        start local 3 // org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext context
         0: .line 80
            aload 0 /* this */
            aload 2 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.eliminateSpillMoves:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)V
         1: .line 81
            return
        end local 3 // org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext context
        end local 2 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanEliminateSpillMovePhase;
            0    2     1     target  Ljdk/vm/ci/code/TargetDescription;
            0    2     2  lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            0    2     3    context  Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;
    MethodParameters:
           Name  Flags
      target     
      lirGenRes  
      context    

  protected int firstInstructionOfInterest();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
         0: .line 89
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanEliminateSpillMovePhase;

  void eliminateSpillMoves(org.graalvm.compiler.lir.gen.LIRGenerationResult);
    descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=23, args_size=2
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
        start local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult res
         0: .line 95
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 2 /* debug */
        start local 2 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 96
            aconst_null
            astore 3
            aconst_null
            astore 4
         2: aload 2 /* debug */
            ldc "Eliminating unnecessary spill moves"
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 5 /* indent */
        start local 5 // org.graalvm.compiler.debug.Indent indent
         3: .line 103
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.mustStoreAtDefinition:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$IntervalPredicate;
            aconst_null
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.createUnhandledLists:(Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$IntervalPredicate;Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan$IntervalPredicate;)Ljdk/internal/vm/compiler/collections/Pair;
            invokevirtual jdk.internal.vm.compiler.collections.Pair.getLeft:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.alloc.lsra.Interval
            astore 6 /* interval */
        start local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
         4: .line 104
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokestatic org.graalvm.compiler.debug.Assertions.detailedAssertionsEnabled:(Lorg/graalvm/compiler/options/OptionValues;)Z
            ifeq 6
         5: .line 105
            aload 2 /* debug */
            aload 6 /* interval */
            invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.checkIntervals:(Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
         6: .line 108
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            new org.graalvm.compiler.lir.LIRInsertionBuffer
            dup
            invokespecial org.graalvm.compiler.lir.LIRInsertionBuffer.<init>:()V
            astore 7 /* insertionBuffer */
        start local 7 // org.graalvm.compiler.lir.LIRInsertionBuffer insertionBuffer
         7: .line 109
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.sortedBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 61
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.LIRInsertionBuffer top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
         8: aload 11
            iload 9
            aaload
            astore 8 /* block */
        start local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         9: .line 110
            aconst_null
            astore 12
            aconst_null
            astore 13
        10: aload 2 /* debug */
            ldc "Handle %s"
            aload 8 /* block */
            invokevirtual org.graalvm.compiler.debug.DebugContext.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
            astore 14 /* indent1 */
        start local 14 // org.graalvm.compiler.debug.Indent indent1
        11: .line 111
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.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 15 /* instructions */
        start local 15 // java.util.ArrayList instructions
        12: .line 112
            aload 15 /* instructions */
            invokevirtual java.util.ArrayList.size:()I
            istore 16 /* numInst */
        start local 16 // int numInst
        13: .line 115
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.firstInstructionOfInterest:()I
            istore 17 /* j */
        start local 17 // int j
        14: goto 51
        15: .line 116
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.LIRInsertionBuffer org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent java.util.ArrayList int int
      StackMap stack:
            aload 15 /* instructions */
            iload 17 /* j */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 18 /* op */
        start local 18 // org.graalvm.compiler.lir.LIRInstruction op
        16: .line 117
            aload 18 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            istore 19 /* opId */
        start local 19 // int opId
        17: .line 119
            iload 19 /* opId */
            iconst_m1
            if_icmpne 31
        18: .line 120
            aload 18 /* op */
            invokestatic org.graalvm.compiler.lir.StandardOp$MoveOp.asMoveOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/StandardOp$MoveOp;
            astore 20 /* move */
        start local 20 // org.graalvm.compiler.lir.StandardOp$MoveOp move
        19: .line 126
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase$Options.LIROptLSRAEliminateSpillMoves:Lorg/graalvm/compiler/options/OptionKey;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.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 50
            aload 0 /* this */
            aload 8 /* block */
            aload 20 /* move */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.canEliminateSpillMove:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/StandardOp$MoveOp;)Z
            ifeq 50
        20: .line 131
            aload 2 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 29
        21: .line 132
            aload 18 /* op */
            invokestatic org.graalvm.compiler.lir.StandardOp$ValueMoveOp.isValueMoveOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Z
            ifeq 27
        22: .line 133
            aload 18 /* op */
            invokestatic org.graalvm.compiler.lir.StandardOp$ValueMoveOp.asValueMoveOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/StandardOp$ValueMoveOp;
            astore 21 /* vmove */
        start local 21 // org.graalvm.compiler.lir.StandardOp$ValueMoveOp vmove
        23: .line 134
            aload 2 /* debug */
            ldc "eliminating move from interval %d (%s) to %d (%s) in block %s"
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            aload 21 /* vmove */
            invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getInput:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.operandNumber:(Ljdk/vm/ci/meta/Value;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 21 /* vmove */
            invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getInput:()Ljdk/vm/ci/meta/AllocatableValue;
        24: .line 135
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            aload 21 /* vmove */
            invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.operandNumber:(Ljdk/vm/ci/meta/Value;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 21 /* vmove */
            invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 8 /* block */
        25: .line 134
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 21 // org.graalvm.compiler.lir.StandardOp$ValueMoveOp vmove
        26: .line 136
            goto 29
        27: .line 137
      StackMap locals: org.graalvm.compiler.lir.LIRInstruction int org.graalvm.compiler.lir.StandardOp$MoveOp
      StackMap stack:
            aload 18 /* op */
            invokestatic org.graalvm.compiler.lir.StandardOp$LoadConstantOp.asLoadConstantOp:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/StandardOp$LoadConstantOp;
            astore 21 /* load */
        start local 21 // org.graalvm.compiler.lir.StandardOp$LoadConstantOp load
        28: .line 138
            aload 2 /* debug */
            ldc "eliminating constant load from %s to %d (%s) in block %s"
            aload 21 /* load */
            invokeinterface org.graalvm.compiler.lir.StandardOp$LoadConstantOp.getConstant:()Ljdk/vm/ci/meta/Constant;
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            aload 21 /* load */
            invokeinterface org.graalvm.compiler.lir.StandardOp$LoadConstantOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.operandNumber:(Ljdk/vm/ci/meta/Value;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 21 /* load */
            invokeinterface org.graalvm.compiler.lir.StandardOp$LoadConstantOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 8 /* block */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 21 // org.graalvm.compiler.lir.StandardOp$LoadConstantOp load
        29: .line 143
      StackMap locals:
      StackMap stack:
            aload 15 /* instructions */
            iload 17 /* j */
            aconst_null
            invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 20 // org.graalvm.compiler.lir.StandardOp$MoveOp move
        30: .line 146
            goto 50
        31: .line 151
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 32
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isEndMarker:()Z
            ifne 32
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            iload 19 /* opId */
            if_icmpge 32
            new java.lang.AssertionError
            dup
            ldc "invalid order"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        32: .line 152
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 49
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isEndMarker:()Z
            ifne 49
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
            ifeq 33
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState.StoreAtDefinition:Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            if_acmpeq 49
      StackMap locals:
      StackMap stack:
        33: new java.lang.AssertionError
            dup
            ldc "invalid interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        34: .line 155
      StackMap locals:
      StackMap stack:
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.canMaterialize:()Z
            ifne 48
        35: .line 156
            aload 7 /* insertionBuffer */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.initialized:()Z
            ifne 37
        36: .line 161
            aload 7 /* insertionBuffer */
            aload 15 /* instructions */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.init:(Ljava/util/List;)V
        37: .line 164
      StackMap locals:
      StackMap stack:
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            astore 20 /* fromLocation */
        start local 20 // jdk.vm.ci.meta.AllocatableValue fromLocation
        38: .line 165
            aload 6 /* interval */
            invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.canonicalSpillOpr:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 21 /* toLocation */
        start local 21 // jdk.vm.ci.meta.AllocatableValue toLocation
        39: .line 166
            aload 20 /* fromLocation */
            aload 21 /* toLocation */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.equals:(Ljava/lang/Object;)Z
            ifne 48
        40: .line 168
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 42
            aload 20 /* fromLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 42
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "from operand must be a register but is: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 20 /* fromLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " toLocation="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 21 /* toLocation */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " spillState="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        41: .line 169
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillState:()Lorg/graalvm/compiler/lir/alloc/lsra/Interval$SpillState;
            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
        42: .line 170
      StackMap locals: jdk.vm.ci.meta.AllocatableValue jdk.vm.ci.meta.AllocatableValue
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 43
            aload 21 /* toLocation */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 43
            new java.lang.AssertionError
            dup
            ldc "to operand must be a stack slot"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        43: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.getSpillMoveFactory:()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            aload 21 /* toLocation */
            aload 20 /* fromLocation */
            invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory.createMove:(Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/LIRInstruction;
            astore 22 /* move */
        start local 22 // org.graalvm.compiler.lir.LIRInstruction move
        44: .line 173
            aload 7 /* insertionBuffer */
            iload 17 /* j */
            iconst_1
            iadd
            aload 22 /* move */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.append:(ILorg/graalvm/compiler/lir/LIRInstruction;)V
        45: .line 174
            aload 22 /* move */
            aload 1 /* res */
            ldc "LSRAEliminateSpillMove: store at definition"
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.setComment:(Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/String;)V
        46: .line 176
            aload 2 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 48
        47: .line 177
            aload 2 /* debug */
            ldc "inserting move after definition of interval %d to stack slot %s at opId %d"
            aload 6 /* interval */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            iload 19 /* opId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 22 // org.graalvm.compiler.lir.LIRInstruction move
        end local 21 // jdk.vm.ci.meta.AllocatableValue toLocation
        end local 20 // jdk.vm.ci.meta.AllocatableValue fromLocation
        48: .line 181
      StackMap locals:
      StackMap stack:
            aload 6 /* interval */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.next:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 6 /* interval */
        49: .line 154
      StackMap locals:
      StackMap stack:
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isEndMarker:()Z
            ifne 50
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            iload 19 /* opId */
            if_icmpeq 34
        end local 19 // int opId
        end local 18 // org.graalvm.compiler.lir.LIRInstruction op
        50: .line 115
      StackMap locals:
      StackMap stack:
            iinc 17 /* j */ 1
      StackMap locals:
      StackMap stack:
        51: iload 17 /* j */
            iload 16 /* numInst */
            if_icmplt 15
        end local 17 // int j
        52: .line 186
            aload 7 /* insertionBuffer */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.initialized:()Z
            ifeq 54
        53: .line 187
            aload 7 /* insertionBuffer */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.finish:()V
        end local 16 // int numInst
        end local 15 // java.util.ArrayList instructions
        54: .line 189
      StackMap locals:
      StackMap stack:
            aload 14 /* indent1 */
            ifnull 60
            aload 14 /* indent1 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 60
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: astore 12
            aload 14 /* indent1 */
            ifnull 56
            aload 14 /* indent1 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 14 // org.graalvm.compiler.debug.Indent indent1
      StackMap locals:
      StackMap stack:
        56: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        57: astore 13
            aload 12
            ifnonnull 58
            aload 13
            astore 12
            goto 59
      StackMap locals:
      StackMap stack:
        58: aload 12
            aload 13
            if_acmpeq 59
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        59: aload 12
            athrow
        end local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        60: .line 109
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.LIRInsertionBuffer top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        61: iload 9
            iload 10
            if_icmplt 8
        62: .line 192
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 63
            aload 6 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isEndMarker:()Z
            ifne 63
            new java.lang.AssertionError
            dup
            ldc "missed an interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 7 // org.graalvm.compiler.lir.LIRInsertionBuffer insertionBuffer
        end local 6 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        63: .line 193
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack:
            aload 5 /* indent */
            ifnull 69
            aload 5 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 69
      StackMap locals:
      StackMap stack: java.lang.Throwable
        64: astore 3
            aload 5 /* indent */
            ifnull 65
            aload 5 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 5 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        65: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        66: astore 4
            aload 3
            ifnonnull 67
            aload 4
            astore 3
            goto 68
      StackMap locals:
      StackMap stack:
        67: aload 3
            aload 4
            if_acmpeq 68
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        68: aload 3
            athrow
        69: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.debug.DebugContext debug
        end local 1 // org.graalvm.compiler.lir.gen.LIRGenerationResult res
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   70     0             this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanEliminateSpillMovePhase;
            0   70     1              res  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            1   70     2            debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   65     5           indent  Lorg/graalvm/compiler/debug/Indent;
            4   63     6         interval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            7   63     7  insertionBuffer  Lorg/graalvm/compiler/lir/LIRInsertionBuffer;
            9   60     8            block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
           11   56    14          indent1  Lorg/graalvm/compiler/debug/Indent;
           12   54    15     instructions  Ljava/util/ArrayList<Lorg/graalvm/compiler/lir/LIRInstruction;>;
           13   54    16          numInst  I
           14   52    17                j  I
           16   50    18               op  Lorg/graalvm/compiler/lir/LIRInstruction;
           17   50    19             opId  I
           19   30    20             move  Lorg/graalvm/compiler/lir/StandardOp$MoveOp;
           23   26    21            vmove  Lorg/graalvm/compiler/lir/StandardOp$ValueMoveOp;
           28   29    21             load  Lorg/graalvm/compiler/lir/StandardOp$LoadConstantOp;
           38   48    20     fromLocation  Ljdk/vm/ci/meta/AllocatableValue;
           39   48    21       toLocation  Ljdk/vm/ci/meta/AllocatableValue;
           44   48    22             move  Lorg/graalvm/compiler/lir/LIRInstruction;
      Exception table:
        from    to  target  type
          11    54      55  any
          10    57      57  any
           3    63      64  any
           2    66      66  any
    MethodParameters:
      Name  Flags
      res   

  protected boolean canEliminateSpillMove(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.StandardOp$MoveOp);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/StandardOp$MoveOp;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        start local 2 // org.graalvm.compiler.lir.StandardOp$MoveOp move
         0: .line 201
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 1
            aload 2 /* move */
            invokeinterface org.graalvm.compiler.lir.StandardOp$MoveOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isVariable:(Ljdk/vm/ci/meta/Value;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "LinearScan inserts only moves to variables: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* move */
            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 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            aload 2 /* move */
            invokeinterface org.graalvm.compiler.lir.StandardOp$MoveOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.intervalFor:(Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 3 /* curInterval */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval curInterval
         2: .line 205
            aload 3 /* curInterval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 5
            aload 3 /* curInterval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.alwaysInMemory:()Z
            ifeq 5
         3: .line 206
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 4
            aload 3 /* curInterval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not a stack slot: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* curInterval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 207
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            iconst_1
            ireturn
         5: .line 209
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval curInterval
        end local 2 // org.graalvm.compiler.lir.StandardOp$MoveOp move
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanEliminateSpillMovePhase;
            0    6     1        block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0    6     2         move  Lorg/graalvm/compiler/lir/StandardOp$MoveOp;
            2    6     3  curInterval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/StandardOp$MoveOp;)Z
    MethodParameters:
       Name  Flags
      block  
      move   

  private static void checkIntervals(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.lir.alloc.lsra.Interval);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.debug.DebugContext debug
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
         0: .line 213
            aconst_null
            astore 2 /* prev */
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval prev
         1: .line 214
            aload 1 /* interval */
            astore 3 /* temp */
        start local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval temp
         2: .line 215
            goto 14
         3: .line 216
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 4
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            ifgt 4
            new java.lang.AssertionError
            dup
            ldc "invalid spill definition pos"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 217
      StackMap locals:
      StackMap stack:
            aload 2 /* prev */
            ifnull 7
         5: .line 218
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 6
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            aload 2 /* prev */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            if_icmpge 6
            new java.lang.AssertionError
            dup
            ldc "intervals not sorted"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 219
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 7
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            aload 2 /* prev */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            if_icmpge 7
            new java.lang.AssertionError
            dup
            ldc "when intervals are sorted by from :  then they must also be sorted by spillDefinitionPos"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 222
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 8
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnonnull 8
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.canMaterialize:()Z
            ifne 8
            new java.lang.AssertionError
            dup
            ldc "interval has no spill slot assigned"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         8: .line 223
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 9
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            if_icmpge 9
            new java.lang.AssertionError
            dup
            ldc "invalid order"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 224
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 10
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            iconst_2
            iadd
            if_icmple 10
            new java.lang.AssertionError
            dup
            ldc "only intervals defined once at their start-pos can be optimized"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        10: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 12
        11: .line 227
            aload 0 /* debug */
            ldc "interval %d (from %d to %d) must be stored at %d"
            aload 3 /* temp */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 230
      StackMap locals:
      StackMap stack:
            aload 3 /* temp */
            astore 2 /* prev */
        13: .line 231
            aload 3 /* temp */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.next:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 3 /* temp */
        14: .line 215
      StackMap locals:
      StackMap stack:
            aload 3 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isEndMarker:()Z
            ifeq 3
        15: .line 233
            return
        end local 3 // org.graalvm.compiler.lir.alloc.lsra.Interval temp
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval prev
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        end local 0 // org.graalvm.compiler.debug.DebugContext debug
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0     debug  Lorg/graalvm/compiler/debug/DebugContext;
            0   16     1  interval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            1   16     2      prev  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            2   16     3      temp  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
          Name  Flags
      debug     
      interval  
}
SourceFile: "LinearScanEliminateSpillMovePhase.java"
NestMembers:
  org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase$1  org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase$Options
InnerClasses:
  public abstract LoadConstantOp = org.graalvm.compiler.lir.StandardOp$LoadConstantOp of org.graalvm.compiler.lir.StandardOp
  public abstract MoveOp = org.graalvm.compiler.lir.StandardOp$MoveOp of org.graalvm.compiler.lir.StandardOp
  public abstract ValueMoveOp = org.graalvm.compiler.lir.StandardOp$ValueMoveOp of org.graalvm.compiler.lir.StandardOp
  public final SpillState = org.graalvm.compiler.lir.alloc.lsra.Interval$SpillState of org.graalvm.compiler.lir.alloc.lsra.Interval
  abstract IntervalPredicate = org.graalvm.compiler.lir.alloc.lsra.LinearScan$IntervalPredicate of org.graalvm.compiler.lir.alloc.lsra.LinearScan
  org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase$1
  public Options = org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase$Options of org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase
  public abstract MoveFactory = org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory of org.graalvm.compiler.lir.gen.LIRGeneratorTool
  public final AllocationContext = org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext of org.graalvm.compiler.lir.phases.AllocationPhase