abstract class org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase this
         0: .line 35
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanAllocationPhase;

  final java.lang.CharSequence getName();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase this
         0: .line 38
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.graalvm.compiler.lir.phases.LIRPhase.createName:(Ljava/lang/Class;)Ljava/lang/CharSequence;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanAllocationPhase;

  public final java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase this
         0: .line 43
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase.getName:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanAllocationPhase;

  public final void apply(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: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase 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 47
            aload 0 /* this */
            aload 1 /* target */
            aload 2 /* lirGenRes */
            aload 3 /* context */
            iconst_1
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase.apply:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;Z)V
         1: .line 48
            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.LinearScanAllocationPhase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanAllocationPhase;
            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    

  public final void apply(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext, boolean);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;Z)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase 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
        start local 4 // boolean dumpLIR
         0: .line 52
            aload 2 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            invokevirtual org.graalvm.compiler.lir.LIR.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 5 /* debug */
        start local 5 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 53
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase.getName:()Ljava/lang/CharSequence;
            astore 6 /* name */
        start local 6 // java.lang.CharSequence name
         2: .line 54
            aconst_null
            astore 7
            aconst_null
            astore 8
         3: aload 5 /* debug */
            aload 6 /* name */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 9 /* s */
        start local 9 // org.graalvm.compiler.debug.DebugContext$Scope s
         4: aload 5 /* debug */
            aload 6 /* name */
            invokevirtual org.graalvm.compiler.debug.DebugContext.enterCompilerPhase:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugContext$CompilerPhaseScope;
            astore 10 /* cps */
        start local 10 // org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope cps
         5: .line 55
            aload 0 /* this */
            aload 1 /* target */
            aload 2 /* lirGenRes */
            aload 3 /* context */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase.run:(Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;)V
         6: .line 56
            iload 4 /* dumpLIR */
            ifeq 9
         7: .line 57
            aload 5 /* debug */
            iconst_3
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 9
         8: .line 58
            aload 5 /* debug */
            iconst_3
            aload 2 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            ldc "After %s"
            aload 6 /* name */
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 61
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext int org.graalvm.compiler.debug.DebugContext java.lang.CharSequence java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope
      StackMap stack:
            aload 10 /* cps */
            ifnull 12
            aload 10 /* cps */
            invokeinterface org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope.close:()V
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 7
            aload 10 /* cps */
            ifnull 11
            aload 10 /* cps */
            invokeinterface org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope cps
      StackMap locals:
      StackMap stack:
        11: aload 7
            athrow
      StackMap locals:
      StackMap stack:
        12: aload 9 /* s */
            ifnull 22
            aload 9 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 8
            aload 7
            ifnonnull 14
            aload 8
            astore 7
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 7
            aload 8
            if_acmpeq 15
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 9 /* s */
            ifnull 16
            aload 9 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 9 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        16: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 8
            aload 7
            ifnonnull 18
            aload 8
            astore 7
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 7
            aload 8
            if_acmpeq 19
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        19: aload 7
            athrow
      StackMap locals: org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase jdk.vm.ci.code.TargetDescription org.graalvm.compiler.lir.gen.LIRGenerationResult org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext int org.graalvm.compiler.debug.DebugContext java.lang.CharSequence
      StackMap stack: java.lang.Throwable
        20: astore 7 /* e */
        start local 7 // java.lang.Throwable e
        21: .line 62
            aload 5 /* debug */
            aload 7 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 7 // java.lang.Throwable e
        22: .line 64
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.CharSequence name
        end local 5 // org.graalvm.compiler.debug.DebugContext debug
        end local 4 // boolean dumpLIR
        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.LinearScanAllocationPhase this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   23     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanAllocationPhase;
            0   23     1     target  Ljdk/vm/ci/code/TargetDescription;
            0   23     2  lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            0   23     3    context  Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;
            0   23     4    dumpLIR  Z
            1   23     5      debug  Lorg/graalvm/compiler/debug/DebugContext;
            2   23     6       name  Ljava/lang/CharSequence;
            4   16     9          s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            5   11    10        cps  Lorg/graalvm/compiler/debug/DebugContext$CompilerPhaseScope;
           21   22     7          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           5     9      10  any
           4    12      13  any
           3    17      17  any
           2    20      20  Class java.lang.Throwable
    MethodParameters:
           Name  Flags
      target     
      lirGenRes  
      context    
      dumpLIR    

  protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      target     
      lirGenRes  
      context    
}
SourceFile: "LinearScanAllocationPhase.java"
InnerClasses:
  public abstract CompilerPhaseScope = org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope of org.graalvm.compiler.debug.DebugContext
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public final AllocationContext = org.graalvm.compiler.lir.phases.AllocationPhase$AllocationContext of org.graalvm.compiler.lir.phases.AllocationPhase