public final class org.graalvm.compiler.lir.alloc.lsra.LinearScanPhase extends org.graalvm.compiler.lir.alloc.RegisterAllocationPhase
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.lsra.LinearScanPhase
  super_class: org.graalvm.compiler.lir.alloc.RegisterAllocationPhase
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanPhase this
         0: .line 35
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.RegisterAllocationPhase.<init>:()V
            return
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanPhase;

  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=8, locals=7, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanPhase 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 39
            aload 3 /* context */
            getfield org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext.spillMoveFactory:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            astore 4 /* spillMoveFactory */
        start local 4 // org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory spillMoveFactory
         1: .line 40
            aload 3 /* context */
            getfield org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext.registerAllocationConfig:Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            astore 5 /* registerAllocationConfig */
        start local 5 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
         2: .line 41
            new org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScan
            dup
            aload 1 /* target */
            aload 2 /* lirGenRes */
            aload 4 /* spillMoveFactory */
            aload 5 /* registerAllocationConfig */
            aload 2 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.linearScanOrder:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanPhase.getNeverSpillConstants:()Z
            invokespecial org.graalvm.compiler.lir.alloc.lsra.ssa.SSALinearScan.<init>:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Z)V
            astore 6 /* allocator */
        start local 6 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
         3: .line 42
            aload 6 /* allocator */
            aload 1 /* target */
            aload 2 /* lirGenRes */
            aload 3 /* context */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScan.allocate:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;)V
         4: .line 43
            return
        end local 6 // org.graalvm.compiler.lir.alloc.lsra.LinearScan allocator
        end local 5 // org.graalvm.compiler.core.common.alloc.RegisterAllocationConfig registerAllocationConfig
        end local 4 // org.graalvm.compiler.lir.gen.LIRGeneratorTool$MoveFactory spillMoveFactory
        end local 3 // org.graalvm.compiler.lir.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.LinearScanPhase this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    5     0                      this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanPhase;
            0    5     1                    target  Ljdk/vm/ci/code/TargetDescription;
            0    5     2                 lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            0    5     3                   context  Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;
            1    5     4          spillMoveFactory  Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool$MoveFactory;
            2    5     5  registerAllocationConfig  Lorg/graalvm/compiler/core/common/alloc/RegisterAllocationConfig;
            3    5     6                 allocator  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScan;
    MethodParameters:
           Name  Flags
      target     
      lirGenRes  
      context    

  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.LinearScanPhase.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: "LinearScanPhase.java"
InnerClasses:
  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