public class org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase extends org.graalvm.compiler.lir.phases.AllocationPhase
  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.phases.AllocationPhase
{
  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 53
            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 62
            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 68
            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 72
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.phases.AllocationPhase.<init>:()V
         1: .line 73
            aload 0 /* this */
            aload 1 /* allocator */
            putfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
         2: .line 74
            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=1, 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 78
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.eliminateSpillMoves:()V
         1: .line 79
            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 87
            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();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=6, locals=21, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
         0: .line 93
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: ldc "Eliminating unnecessary spill moves"
            invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;)Lorg/graalvm/compiler/debug/Indent;
            astore 3 /* indent */
        start local 3 // org.graalvm.compiler.debug.Indent indent
         2: .line 100
            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;)Lorg/graalvm/compiler/lir/alloc/lsra/Interval$Pair;
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval$Pair.first:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 4 /* interval */
        start local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
         3: .line 101
            getstatic org.graalvm.compiler.core.common.GraalOptions.DetailedAsserts:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 5
         4: .line 102
            aload 4 /* interval */
            invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.checkIntervals:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
         5: .line 105
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase 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 5 /* insertionBuffer */
        start local 5 // org.graalvm.compiler.lir.LIRInsertionBuffer insertionBuffer
         6: .line 106
            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 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 59
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase 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:
         7: aload 9
            iload 7
            aaload
            astore 6 /* block */
        start local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         8: .line 107
            aconst_null
            astore 10
            aconst_null
            astore 11
         9: ldc "Handle %s"
            aload 6 /* block */
            invokestatic org.graalvm.compiler.debug.Debug.logAndIndent:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Indent;
            astore 12 /* indent1 */
        start local 12 // org.graalvm.compiler.debug.Indent indent1
        10: .line 108
            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 6 /* block */
            invokevirtual org.graalvm.compiler.lir.LIR.getLIRforBlock:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/util/ArrayList;
            astore 13 /* instructions */
        start local 13 // java.util.List instructions
        11: .line 109
            aload 13 /* instructions */
            invokeinterface java.util.List.size:()I
            istore 14 /* numInst */
        start local 14 // int numInst
        12: .line 112
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.firstInstructionOfInterest:()I
            istore 15 /* j */
        start local 15 // int j
        13: goto 49
        14: .line 113
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase 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.List int int
      StackMap stack:
            aload 13 /* instructions */
            iload 15 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.lir.LIRInstruction
            astore 16 /* op */
        start local 16 // org.graalvm.compiler.lir.LIRInstruction op
        15: .line 114
            aload 16 /* op */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.id:()I
            istore 17 /* opId */
        start local 17 // int opId
        16: .line 116
            iload 17 /* opId */
            iconst_m1
            if_icmpne 30
        17: .line 117
            aload 16 /* op */
            checkcast org.graalvm.compiler.lir.StandardOp$MoveOp
            astore 18 /* move */
        start local 18 // org.graalvm.compiler.lir.StandardOp$MoveOp move
        18: .line 123
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase$Options.LIROptLSRAEliminateSpillMoves:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 48
            aload 0 /* this */
            aload 6 /* block */
            aload 18 /* 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 48
        19: .line 128
            invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
            ifeq 28
        20: .line 129
            aload 18 /* move */
            instanceof org.graalvm.compiler.lir.StandardOp$ValueMoveOp
            ifeq 26
        21: .line 130
            aload 18 /* move */
            checkcast org.graalvm.compiler.lir.StandardOp$ValueMoveOp
            astore 19 /* vmove */
        start local 19 // org.graalvm.compiler.lir.StandardOp$ValueMoveOp vmove
        22: .line 131
            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 19 /* 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 19 /* vmove */
            invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getInput:()Ljdk/vm/ci/meta/AllocatableValue;
        23: .line 132
            aload 0 /* this */
            getfield org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.allocator:Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
            aload 19 /* 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 19 /* vmove */
            invokeinterface org.graalvm.compiler.lir.StandardOp$ValueMoveOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 6 /* block */
        24: .line 131
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 19 // org.graalvm.compiler.lir.StandardOp$ValueMoveOp vmove
        25: .line 133
            goto 28
        26: .line 134
      StackMap locals: org.graalvm.compiler.lir.LIRInstruction int org.graalvm.compiler.lir.StandardOp$MoveOp
      StackMap stack:
            aload 18 /* move */
            checkcast org.graalvm.compiler.lir.StandardOp$LoadConstantOp
            astore 19 /* load */
        start local 19 // org.graalvm.compiler.lir.StandardOp$LoadConstantOp load
        27: .line 135
            ldc "eliminating constant load from %s to %d (%s) in block %s"
            aload 19 /* 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 19 /* 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 19 /* load */
            invokeinterface org.graalvm.compiler.lir.StandardOp$LoadConstantOp.getResult:()Ljdk/vm/ci/meta/AllocatableValue;
            aload 6 /* block */
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 19 // org.graalvm.compiler.lir.StandardOp$LoadConstantOp load
        28: .line 140
      StackMap locals:
      StackMap stack:
            aload 13 /* instructions */
            iload 15 /* j */
            aconst_null
            invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
            pop
        end local 18 // org.graalvm.compiler.lir.StandardOp$MoveOp move
        29: .line 143
            goto 48
        30: .line 148
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 31
            aload 4 /* interval */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            if_acmpeq 31
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            iload 17 /* opId */
            if_icmpge 31
            new java.lang.AssertionError
            dup
            ldc "invalid order"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        31: .line 149
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 47
            aload 4 /* interval */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            if_acmpeq 47
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.isSplitParent:()Z
            ifeq 32
            aload 4 /* 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 47
      StackMap locals:
      StackMap stack:
        32: new java.lang.AssertionError
            dup
            ldc "invalid interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        33: .line 152
      StackMap locals:
      StackMap stack:
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.canMaterialize:()Z
            ifne 46
        34: .line 153
            aload 5 /* insertionBuffer */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.initialized:()Z
            ifne 36
        35: .line 158
            aload 5 /* insertionBuffer */
            aload 13 /* instructions */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.init:(Ljava/util/List;)V
        36: .line 161
      StackMap locals:
      StackMap stack:
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.location:()Ljdk/vm/ci/meta/AllocatableValue;
            astore 18 /* fromLocation */
        start local 18 // jdk.vm.ci.meta.AllocatableValue fromLocation
        37: .line 162
            aload 4 /* interval */
            invokestatic org.graalvm.compiler.lir.alloc.lsra.LinearScan.canonicalSpillOpr:(Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)Ljdk/vm/ci/meta/AllocatableValue;
            astore 19 /* toLocation */
        start local 19 // jdk.vm.ci.meta.AllocatableValue toLocation
        38: .line 163
            aload 18 /* fromLocation */
            aload 19 /* toLocation */
            invokevirtual jdk.vm.ci.meta.AllocatableValue.equals:(Ljava/lang/Object;)Z
            ifne 46
        39: .line 165
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 41
            aload 18 /* fromLocation */
            invokestatic jdk.vm.ci.code.ValueUtil.isRegister:(Ljdk/vm/ci/meta/Value;)Z
            ifne 41
            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 18 /* 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 19 /* 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;
        40: .line 166
            aload 4 /* 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
        41: .line 167
      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 42
            aload 19 /* toLocation */
            invokestatic org.graalvm.compiler.lir.LIRValueUtil.isStackSlotValue:(Ljdk/vm/ci/meta/Value;)Z
            ifne 42
            new java.lang.AssertionError
            dup
            ldc "to operand must be a stack slot"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        42: .line 169
      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 19 /* toLocation */
            aload 18 /* 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 20 /* move */
        start local 20 // org.graalvm.compiler.lir.LIRInstruction move
        43: .line 170
            aload 5 /* insertionBuffer */
            iload 15 /* j */
            iconst_1
            iadd
            aload 20 /* move */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.append:(ILorg/graalvm/compiler/lir/LIRInstruction;)V
        44: .line 172
            invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
            ifeq 46
        45: .line 173
            ldc "inserting move after definition of interval %d to stack slot %s at opId %d"
            aload 4 /* interval */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            iload 17 /* opId */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 20 // org.graalvm.compiler.lir.LIRInstruction move
        end local 19 // jdk.vm.ci.meta.AllocatableValue toLocation
        end local 18 // jdk.vm.ci.meta.AllocatableValue fromLocation
        46: .line 177
      StackMap locals:
      StackMap stack:
            aload 4 /* interval */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.next:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 4 /* interval */
        47: .line 151
      StackMap locals:
      StackMap stack:
            aload 4 /* interval */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            if_acmpeq 48
            aload 4 /* interval */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            iload 17 /* opId */
            if_icmpeq 33
        end local 17 // int opId
        end local 16 // org.graalvm.compiler.lir.LIRInstruction op
        48: .line 112
      StackMap locals:
      StackMap stack:
            iinc 15 /* j */ 1
      StackMap locals:
      StackMap stack:
        49: iload 15 /* j */
            iload 14 /* numInst */
            if_icmplt 14
        end local 15 // int j
        50: .line 182
            aload 5 /* insertionBuffer */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.initialized:()Z
            ifeq 52
        51: .line 183
            aload 5 /* insertionBuffer */
            invokevirtual org.graalvm.compiler.lir.LIRInsertionBuffer.finish:()V
        end local 14 // int numInst
        end local 13 // java.util.List instructions
        52: .line 185
      StackMap locals:
      StackMap stack:
            aload 12 /* indent1 */
            ifnull 58
            aload 12 /* indent1 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 58
      StackMap locals:
      StackMap stack: java.lang.Throwable
        53: astore 10
            aload 12 /* indent1 */
            ifnull 54
            aload 12 /* indent1 */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 12 // org.graalvm.compiler.debug.Indent indent1
      StackMap locals:
      StackMap stack:
        54: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: astore 11
            aload 10
            ifnonnull 56
            aload 11
            astore 10
            goto 57
      StackMap locals:
      StackMap stack:
        56: aload 10
            aload 11
            if_acmpeq 57
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        57: aload 10
            athrow
        end local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        58: .line 106
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase 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 7 1
      StackMap locals:
      StackMap stack:
        59: iload 7
            iload 8
            if_icmplt 7
        60: .line 188
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 61
            aload 4 /* interval */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            if_acmpeq 61
            new java.lang.AssertionError
            dup
            ldc "missed an interval"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 5 // org.graalvm.compiler.lir.LIRInsertionBuffer insertionBuffer
        end local 4 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
        61: .line 189
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Indent
      StackMap stack:
            aload 3 /* indent */
            ifnull 67
            aload 3 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
            goto 67
      StackMap locals:
      StackMap stack: java.lang.Throwable
        62: astore 1
            aload 3 /* indent */
            ifnull 63
            aload 3 /* indent */
            invokeinterface org.graalvm.compiler.debug.Indent.close:()V
        end local 3 // org.graalvm.compiler.debug.Indent indent
      StackMap locals:
      StackMap stack:
        63: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        64: astore 2
            aload 1
            ifnonnull 65
            aload 2
            astore 1
            goto 66
      StackMap locals:
      StackMap stack:
        65: aload 1
            aload 2
            if_acmpeq 66
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        66: aload 1
            athrow
        67: .line 190
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   68     0             this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanEliminateSpillMovePhase;
            2   63     3           indent  Lorg/graalvm/compiler/debug/Indent;
            3   61     4         interval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            6   61     5  insertionBuffer  Lorg/graalvm/compiler/lir/LIRInsertionBuffer;
            8   58     6            block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
           10   54    12          indent1  Lorg/graalvm/compiler/debug/Indent;
           11   52    13     instructions  Ljava/util/List<Lorg/graalvm/compiler/lir/LIRInstruction;>;
           12   52    14          numInst  I
           13   50    15                j  I
           15   48    16               op  Lorg/graalvm/compiler/lir/LIRInstruction;
           16   48    17             opId  I
           18   29    18             move  Lorg/graalvm/compiler/lir/StandardOp$MoveOp;
           22   25    19            vmove  Lorg/graalvm/compiler/lir/StandardOp$ValueMoveOp;
           27   28    19             load  Lorg/graalvm/compiler/lir/StandardOp$LoadConstantOp;
           37   46    18     fromLocation  Ljdk/vm/ci/meta/AllocatableValue;
           38   46    19       toLocation  Ljdk/vm/ci/meta/AllocatableValue;
           43   46    20             move  Lorg/graalvm/compiler/lir/LIRInstruction;
      Exception table:
        from    to  target  type
          10    52      53  any
           9    55      55  any
           2    61      62  any
           1    64      64  any

  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 197
            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 199
      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 201
            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 202
            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 203
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.Interval
      StackMap stack:
            iconst_1
            ireturn
         5: .line 205
      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.lir.alloc.lsra.Interval);
    descriptor: (Lorg/graalvm/compiler/lir/alloc/lsra/Interval;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
         0: .line 209
            aconst_null
            astore 1 /* prev */
        start local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval prev
         1: .line 210
            aload 0 /* interval */
            astore 2 /* temp */
        start local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval temp
         2: .line 211
            goto 14
         3: .line 212
      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 2 /* 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 213
      StackMap locals:
      StackMap stack:
            aload 1 /* prev */
            ifnull 7
         5: .line 214
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 6
            aload 2 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            aload 1 /* 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 215
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 7
            aload 2 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            aload 1 /* 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 218
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 8
            aload 2 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillSlot:()Ljdk/vm/ci/meta/AllocatableValue;
            ifnonnull 8
            aload 2 /* 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 219
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 9
            aload 2 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            aload 2 /* 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 220
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.$assertionsDisabled:Z
            ifne 10
            aload 2 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            aload 2 /* 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 222
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.Debug.isLogEnabled:()Z
            ifeq 12
        11: .line 223
            ldc "interval %d (from %d to %d) must be stored at %d"
            aload 2 /* temp */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.operandNumber:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.from:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.to:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 2 /* temp */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.Interval.spillDefinitionPos:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 226
      StackMap locals:
      StackMap stack:
            aload 2 /* temp */
            astore 1 /* prev */
        13: .line 227
            aload 2 /* temp */
            getfield org.graalvm.compiler.lir.alloc.lsra.Interval.next:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            astore 2 /* temp */
        14: .line 211
      StackMap locals:
      StackMap stack:
            aload 2 /* temp */
            getstatic org.graalvm.compiler.lir.alloc.lsra.Interval.EndMarker:Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            if_acmpne 3
        15: .line 229
            return
        end local 2 // org.graalvm.compiler.lir.alloc.lsra.Interval temp
        end local 1 // org.graalvm.compiler.lir.alloc.lsra.Interval prev
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.Interval interval
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0  interval  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            1   16     1      prev  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
            2   16     2      temp  Lorg/graalvm/compiler/lir/alloc/lsra/Interval;
    MethodParameters:
          Name  Flags
      interval  

  protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, java.lang.Object);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Ljava/lang/Object;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
         0: .line 1
            aload 0
            aload 1
            aload 2
            aload 3
            checkcast org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanEliminateSpillMovePhase.run:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
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
  final Pair = org.graalvm.compiler.lir.alloc.lsra.Interval$Pair of org.graalvm.compiler.lir.alloc.lsra.Interval
  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