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 32
            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 35
            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 40
            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 44
            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 45
            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=9, 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 49
            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 50
            aconst_null
            astore 6
            aconst_null
            astore 7
         2: aload 5 /* debug */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase.getName:()Ljava/lang/CharSequence;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 8 /* s */
        start local 8 // org.graalvm.compiler.debug.DebugContext$Scope s
         3: .line 51
            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
         4: .line 52
            iload 4 /* dumpLIR */
            ifeq 7
         5: .line 53
            aload 5 /* debug */
            iconst_3
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 7
         6: .line 54
            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 0 /* this */
            invokevirtual org.graalvm.compiler.lir.alloc.lsra.LinearScanAllocationPhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 57
      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.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack:
            aload 8 /* s */
            ifnull 15
            aload 8 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 6
            aload 8 /* s */
            ifnull 9
            aload 8 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
         9: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 7
            aload 6
            ifnonnull 11
            aload 7
            astore 6
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 6
            aload 7
            if_acmpeq 12
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 6
            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
      StackMap stack: java.lang.Throwable
        13: astore 6 /* e */
        start local 6 // java.lang.Throwable e
        14: .line 58
            aload 5 /* debug */
            aload 6 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 6 // java.lang.Throwable e
        15: .line 60
      StackMap locals:
      StackMap stack:
            return
        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   16     0       this  Lorg/graalvm/compiler/lir/alloc/lsra/LinearScanAllocationPhase;
            0   16     1     target  Ljdk/vm/ci/code/TargetDescription;
            0   16     2  lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            0   16     3    context  Lorg/graalvm/compiler/lir/phases/AllocationPhase$AllocationContext;
            0   16     4    dumpLIR  Z
            1   16     5      debug  Lorg/graalvm/compiler/debug/DebugContext;
            3    9     8          s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           14   15     6          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     7       8  any
           2    10      10  any
           1    13      13  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 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