public abstract class org.graalvm.compiler.phases.BasePhase<C> implements org.graalvm.compiler.phases.contract.PhaseSizeContract
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.phases.BasePhase
  super_class: java.lang.Object
{
  private final org.graalvm.compiler.debug.TimerKey timer;
    descriptor: Lorg/graalvm/compiler/debug/TimerKey;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.debug.CounterKey executionCount;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.debug.CounterKey inputNodesCount;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.debug.MemUseTrackerKey memUseTracker;
    descriptor: Lorg/graalvm/compiler/debug/MemUseTrackerKey;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.ClassValue<org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics> statisticsClassValue;
    descriptor: Ljava/lang/ClassValue;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ClassValue<Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;>;

  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 60
            ldc Lorg/graalvm/compiler/phases/BasePhase;
            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.phases.BasePhase.$assertionsDisabled:Z
         3: .line 127
            new org.graalvm.compiler.phases.BasePhase$1
            dup
            invokespecial org.graalvm.compiler.phases.BasePhase$1.<init>:()V
            putstatic org.graalvm.compiler.phases.BasePhase.statisticsClassValue:Ljava/lang/ClassValue;
         4: .line 132
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics getBasePhaseStatistics(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Class c
         0: .line 135
            getstatic org.graalvm.compiler.phases.BasePhase.statisticsClassValue:Ljava/lang/ClassValue;
            aload 0 /* c */
            invokevirtual java.lang.ClassValue.get:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics
            areturn
        end local 0 // java.lang.Class c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;
    MethodParameters:
      Name  Flags
      c     

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.phases.BasePhase this
         0: .line 138
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 139
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.graalvm.compiler.phases.BasePhase.getBasePhaseStatistics:(Ljava/lang/Class;)Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;
            astore 1 /* statistics */
        start local 1 // org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics statistics
         2: .line 140
            aload 0 /* this */
            aload 1 /* statistics */
            getfield org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics.timer:Lorg/graalvm/compiler/debug/TimerKey;
            putfield org.graalvm.compiler.phases.BasePhase.timer:Lorg/graalvm/compiler/debug/TimerKey;
         3: .line 141
            aload 0 /* this */
            aload 1 /* statistics */
            getfield org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics.executionCount:Lorg/graalvm/compiler/debug/CounterKey;
            putfield org.graalvm.compiler.phases.BasePhase.executionCount:Lorg/graalvm/compiler/debug/CounterKey;
         4: .line 142
            aload 0 /* this */
            aload 1 /* statistics */
            getfield org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics.memUseTracker:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
            putfield org.graalvm.compiler.phases.BasePhase.memUseTracker:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
         5: .line 143
            aload 0 /* this */
            aload 1 /* statistics */
            getfield org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics.inputNodesCount:Lorg/graalvm/compiler/debug/CounterKey;
            putfield org.graalvm.compiler.phases.BasePhase.inputNodesCount:Lorg/graalvm/compiler/debug/CounterKey;
         6: .line 144
            return
        end local 1 // org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics statistics
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;
            2    7     1  statistics  Lorg/graalvm/compiler/phases/BasePhase$BasePhaseStatistics;

  public final void apply(org.graalvm.compiler.nodes.StructuredGraph, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.phases.BasePhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // java.lang.Object context
         0: .line 147
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            iconst_1
            invokevirtual org.graalvm.compiler.phases.BasePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Z)V
         1: .line 148
            return
        end local 2 // java.lang.Object context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;
            0    2     1    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2  context  TC;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;)V
    MethodParameters:
         Name  Flags
      graph    final
      context  final

  private org.graalvm.compiler.phases.BasePhase<?> getEnclosingPhase(org.graalvm.compiler.debug.DebugContext);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/phases/BasePhase;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.phases.BasePhase this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 151
            aload 1 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.context:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.debug.DebugContext top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* c */
        start local 2 // java.lang.Object c
         2: .line 152
            aload 2 /* c */
            aload 0 /* this */
            if_acmpeq 5
            aload 2 /* c */
            instanceof org.graalvm.compiler.phases.BasePhase
            ifeq 5
         3: .line 153
            aload 2 /* c */
            instanceof org.graalvm.compiler.phases.PhaseSuite
            ifne 5
         4: .line 154
            aload 2 /* c */
            checkcast org.graalvm.compiler.phases.BasePhase
            areturn
        end local 2 // java.lang.Object c
         5: .line 151
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 158
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;
            0    7     1  debug  Lorg/graalvm/compiler/debug/DebugContext;
            2    5     2      c  Ljava/lang/Object;
    Signature: (Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/phases/BasePhase<*>;
    MethodParameters:
       Name  Flags
      debug  

  private boolean dumpBefore(org.graalvm.compiler.nodes.StructuredGraph, C, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.phases.BasePhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // java.lang.Object context
        start local 3 // boolean isTopLevel
         0: .line 162
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 4 /* debug */
        start local 4 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 163
            iload 3 /* isTopLevel */
            ifeq 7
            aload 4 /* debug */
            iconst_3
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifne 2
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDumpBeforeAtBasicLevel:()Z
            ifeq 7
            aload 4 /* debug */
            iconst_1
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 7
         2: .line 164
      StackMap locals: org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDumpBeforeAtBasicLevel:()Z
            ifeq 5
         3: .line 165
            aload 4 /* debug */
            iconst_1
            aload 1 /* graph */
            ldc "Before phase %s"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 166
            goto 15
         5: .line 167
      StackMap locals:
      StackMap stack:
            aload 4 /* debug */
            iconst_3
            aload 1 /* graph */
            ldc "Before phase %s"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 169
            goto 15
      StackMap locals:
      StackMap stack:
         7: iload 3 /* isTopLevel */
            ifne 10
            aload 4 /* debug */
            iconst_4
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 10
         8: .line 170
            aload 4 /* debug */
            iconst_4
            aload 1 /* graph */
            ldc "Before subphase %s"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 171
            goto 15
      StackMap locals:
      StackMap stack:
        10: aload 4 /* debug */
            iconst_0
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 15
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDump:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)Z
            ifeq 15
        11: .line 172
            aload 4 /* debug */
            iconst_0
            aload 1 /* graph */
            ldc "Before %s %s"
            iload 3 /* isTopLevel */
            ifeq 12
            ldc "phase"
            goto 13
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext
      StackMap stack: org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.nodes.StructuredGraph java.lang.String
        12: ldc "subphase"
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext
      StackMap stack: org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.nodes.StructuredGraph java.lang.String java.lang.String
        13: aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 173
            iconst_1
            ireturn
        15: .line 175
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.graalvm.compiler.debug.DebugContext debug
        end local 3 // boolean isTopLevel
        end local 2 // java.lang.Object context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;
            0   16     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   16     2     context  TC;
            0   16     3  isTopLevel  Z
            1   16     4       debug  Lorg/graalvm/compiler/debug/DebugContext;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;Z)Z
    MethodParameters:
            Name  Flags
      graph       final
      context     final
      isTopLevel  

  protected boolean shouldDumpBeforeAtBasicLevel();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.BasePhase this
         0: .line 179
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;

  protected boolean shouldDumpAfterAtBasicLevel();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.BasePhase this
         0: .line 183
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;

  protected final void apply(org.graalvm.compiler.nodes.StructuredGraph, C, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Z)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=18, args_size=4
        start local 0 // org.graalvm.compiler.phases.BasePhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // java.lang.Object context
        start local 3 // boolean dumpGraph
         0: .line 188
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
         1: .line 190
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.asJavaMethod:()Ljdk/vm/ci/meta/JavaMethod;
            invokestatic org.graalvm.compiler.phases.BasePhase$ExcludePhaseFilter.exclude:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/phases/BasePhase;Ljdk/vm/ci/meta/JavaMethod;)Z
            ifeq 3
         2: .line 191
            return
         3: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 4 /* debug */
        start local 4 // org.graalvm.compiler.debug.DebugContext debug
         4: .line 195
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lorg/graalvm/compiler/phases/PhaseSuite;
            if_acmpeq 6
            aload 4 /* debug */
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.enterCompilerPhase:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugContext$CompilerPhaseScope;
            goto 7
      StackMap locals: org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope
         7: astore 7 /* cps */
        start local 7 // org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope cps
         8: .line 196
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.BasePhase.timer:Lorg/graalvm/compiler/debug/TimerKey;
            aload 4 /* debug */
            invokeinterface org.graalvm.compiler.debug.TimerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 8 /* a */
        start local 8 // org.graalvm.compiler.debug.DebugCloseable a
         9: .line 197
            aload 4 /* debug */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            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
        10: .line 198
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.BasePhase.memUseTracker:Lorg/graalvm/compiler/debug/MemUseTrackerKey;
            aload 4 /* debug */
            invokeinterface org.graalvm.compiler.debug.MemUseTrackerKey.start:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/debug/DebugCloseable;
            astore 10 /* c */
        start local 10 // org.graalvm.compiler.debug.DebugCloseable c
        11: .line 200
            iconst_0
            istore 11 /* sizeBefore */
        start local 11 // int sizeBefore
        12: .line 201
            aconst_null
            astore 12 /* before */
        start local 12 // org.graalvm.compiler.graph.Graph$Mark before
        13: .line 202
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 13 /* options */
        start local 13 // org.graalvm.compiler.options.OptionValues options
        14: .line 203
            getstatic org.graalvm.compiler.phases.BasePhase$PhaseOptions.VerifyGraalPhasesSize:Lorg/graalvm/compiler/options/OptionKey;
            aload 13 /* options */
            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 15
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.checkContract:()Z
            ifeq 15
            iconst_1
            goto 16
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable int org.graalvm.compiler.graph.Graph$Mark org.graalvm.compiler.options.OptionValues
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 14 /* verifySizeContract */
        start local 14 // boolean verifySizeContract
        17: .line 204
            iload 14 /* verifySizeContract */
            ifeq 20
        18: .line 205
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.phases.contract.NodeCostUtil.computeGraphSize:(Lorg/graalvm/compiler/nodes/StructuredGraph;)I
            istore 11 /* sizeBefore */
        19: .line 206
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
            astore 12 /* before */
        20: .line 208
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.phases.BasePhase.getEnclosingPhase:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/phases/BasePhase;
            ifnonnull 21
            iconst_1
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_0
      StackMap locals:
      StackMap stack: int
        22: istore 15 /* isTopLevel */
        start local 15 // boolean isTopLevel
        23: .line 209
            iconst_0
            istore 16 /* dumpedBefore */
        start local 16 // boolean dumpedBefore
        24: .line 210
            iload 3 /* dumpGraph */
            ifeq 26
            aload 4 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.areScopesEnabled:()Z
            ifeq 26
        25: .line 211
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            iload 15 /* isTopLevel */
            invokevirtual org.graalvm.compiler.phases.BasePhase.dumpBefore:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Z)Z
            istore 16 /* dumpedBefore */
        26: .line 213
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.BasePhase.inputNodesCount:Lorg/graalvm/compiler/debug/CounterKey;
            aload 4 /* debug */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
            i2l
            invokeinterface org.graalvm.compiler.debug.CounterKey.add:(Lorg/graalvm/compiler/debug/DebugContext;J)V
        27: .line 214
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            invokevirtual org.graalvm.compiler.phases.BasePhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
        28: .line 215
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.BasePhase.executionCount:Lorg/graalvm/compiler/debug/CounterKey;
            aload 4 /* debug */
            invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
        29: .line 216
            iload 14 /* verifySizeContract */
            ifeq 33
        30: .line 217
            aload 12 /* before */
            invokevirtual org.graalvm.compiler.graph.Graph$Mark.isCurrent:()Z
            ifne 33
        31: .line 218
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.phases.contract.NodeCostUtil.computeGraphSize:(Lorg/graalvm/compiler/nodes/StructuredGraph;)I
            istore 17 /* sizeAfter */
        start local 17 // int sizeAfter
        32: .line 219
            aload 1 /* graph */
            iload 11 /* sizeBefore */
            iload 17 /* sizeAfter */
            aload 0 /* this */
            invokestatic org.graalvm.compiler.phases.contract.NodeCostUtil.phaseFulfillsSizeContract:(Lorg/graalvm/compiler/nodes/StructuredGraph;IILorg/graalvm/compiler/phases/contract/PhaseSizeContract;)V
        end local 17 // int sizeAfter
        33: .line 223
      StackMap locals:
      StackMap stack:
            iload 3 /* dumpGraph */
            ifeq 35
            aload 4 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.areScopesEnabled:()Z
            ifeq 35
        34: .line 224
            aload 0 /* this */
            aload 1 /* graph */
            iload 15 /* isTopLevel */
            iload 16 /* dumpedBefore */
            invokevirtual org.graalvm.compiler.phases.BasePhase.dumpAfter:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZ)V
        35: .line 226
      StackMap locals:
      StackMap stack:
            aload 4 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isVerifyEnabled:()Z
            ifeq 37
        36: .line 227
            aload 4 /* debug */
            aload 1 /* graph */
            ldc "%s"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.verify:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        37: .line 229
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.phases.BasePhase.$assertionsDisabled:Z
            ifne 38
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.verify:()Z
            ifne 38
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 16 // boolean dumpedBefore
        end local 15 // boolean isTopLevel
        end local 14 // boolean verifySizeContract
        end local 13 // org.graalvm.compiler.options.OptionValues options
        end local 12 // org.graalvm.compiler.graph.Graph$Mark before
        end local 11 // int sizeBefore
        38: .line 230
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 10 /* c */
            ifnull 41
            aload 10 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 41
      StackMap locals:
      StackMap stack: java.lang.Throwable
        39: astore 5
            aload 10 /* c */
            ifnull 40
            aload 10 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 10 // org.graalvm.compiler.debug.DebugCloseable c
      StackMap locals:
      StackMap stack:
        40: aload 5
            athrow
      StackMap locals:
      StackMap stack:
        41: aload 9 /* s */
            ifnull 46
            aload 9 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 46
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 6
            aload 5
            ifnonnull 43
            aload 6
            astore 5
            goto 44
      StackMap locals:
      StackMap stack:
        43: aload 5
            aload 6
            if_acmpeq 44
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        44: aload 9 /* s */
            ifnull 45
            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:
        45: aload 5
            athrow
      StackMap locals:
      StackMap stack:
        46: aload 8 /* a */
            ifnull 51
            aload 8 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 6
            aload 5
            ifnonnull 48
            aload 6
            astore 5
            goto 49
      StackMap locals:
      StackMap stack:
        48: aload 5
            aload 6
            if_acmpeq 49
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        49: aload 8 /* a */
            ifnull 50
            aload 8 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 8 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        50: aload 5
            athrow
      StackMap locals:
      StackMap stack:
        51: aload 7 /* cps */
            ifnull 61
            aload 7 /* cps */
            invokeinterface org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope.close:()V
            goto 61
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: astore 6
            aload 5
            ifnonnull 53
            aload 6
            astore 5
            goto 54
      StackMap locals:
      StackMap stack:
        53: aload 5
            aload 6
            if_acmpeq 54
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        54: aload 7 /* cps */
            ifnull 55
            aload 7 /* cps */
            invokeinterface org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope.close:()V
        end local 7 // org.graalvm.compiler.debug.DebugContext$CompilerPhaseScope cps
      StackMap locals:
      StackMap stack:
        55: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        56: astore 6
            aload 5
            ifnonnull 57
            aload 6
            astore 5
            goto 58
      StackMap locals:
      StackMap stack:
        57: aload 5
            aload 6
            if_acmpeq 58
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        58: aload 5
            athrow
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object int org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        59: astore 5 /* t */
        start local 5 // java.lang.Throwable t
        60: .line 231
            aload 4 /* debug */
            aload 5 /* t */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 5 // java.lang.Throwable t
        61: .line 233
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.graalvm.compiler.debug.DebugContext debug
        end local 3 // boolean dumpGraph
        end local 2 // java.lang.Object context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   62     0                this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;
            0   62     1               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   62     2             context  TC;
            0   62     3           dumpGraph  Z
            4   62     4               debug  Lorg/graalvm/compiler/debug/DebugContext;
            8   55     7                 cps  Lorg/graalvm/compiler/debug/DebugContext$CompilerPhaseScope;
            9   50     8                   a  Lorg/graalvm/compiler/debug/DebugCloseable;
           10   45     9                   s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           11   40    10                   c  Lorg/graalvm/compiler/debug/DebugCloseable;
           12   38    11          sizeBefore  I
           13   38    12              before  Lorg/graalvm/compiler/graph/Graph$Mark;
           14   38    13             options  Lorg/graalvm/compiler/options/OptionValues;
           17   38    14  verifySizeContract  Z
           23   38    15          isTopLevel  Z
           24   38    16        dumpedBefore  Z
           32   33    17           sizeAfter  I
           60   61     5                   t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          11    38      39  any
          10    41      42  any
           9    46      47  any
           8    51      52  any
           5    56      56  any
           4    59      59  Class java.lang.Throwable
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;Z)V
    MethodParameters:
           Name  Flags
      graph      final
      context    final
      dumpGraph  final

  private void dumpAfter(org.graalvm.compiler.nodes.StructuredGraph, boolean, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;ZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.graalvm.compiler.phases.BasePhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // boolean isTopLevel
        start local 3 // boolean dumpedBefore
         0: .line 236
            iconst_0
            istore 4 /* dumped */
        start local 4 // boolean dumped
         1: .line 237
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 5 /* debug */
        start local 5 // org.graalvm.compiler.debug.DebugContext debug
         2: .line 238
            iload 2 /* isTopLevel */
            ifeq 12
         3: .line 239
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDumpAfterAtBasicLevel:()Z
            ifeq 8
         4: .line 240
            aload 5 /* debug */
            iconst_1
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 15
         5: .line 241
            aload 5 /* debug */
            iconst_1
            aload 1 /* graph */
            ldc "After phase %s"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 242
            iconst_1
            istore 4 /* dumped */
         7: .line 244
            goto 15
         8: .line 245
      StackMap locals: int org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            aload 5 /* debug */
            iconst_2
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 15
         9: .line 246
            aload 5 /* debug */
            iconst_2
            aload 1 /* graph */
            ldc "After phase %s"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        10: .line 247
            iconst_1
            istore 4 /* dumped */
        11: .line 250
            goto 15
        12: .line 251
      StackMap locals:
      StackMap stack:
            aload 5 /* debug */
            iconst_3
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 15
        13: .line 252
            aload 5 /* debug */
            iconst_3
            aload 1 /* graph */
            ldc "After subphase %s"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 253
            iconst_1
            istore 4 /* dumped */
        15: .line 256
      StackMap locals:
      StackMap stack:
            iload 4 /* dumped */
            ifne 19
            aload 5 /* debug */
            iconst_0
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 19
            iload 3 /* dumpedBefore */
            ifeq 19
        16: .line 257
            aload 5 /* debug */
            iconst_0
            aload 1 /* graph */
            ldc "After %s %s"
            iload 2 /* isTopLevel */
            ifeq 17
            ldc "phase"
            goto 18
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph int int int org.graalvm.compiler.debug.DebugContext
      StackMap stack: org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.nodes.StructuredGraph java.lang.String
        17: ldc "subphase"
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph int int int org.graalvm.compiler.debug.DebugContext
      StackMap stack: org.graalvm.compiler.debug.DebugContext int org.graalvm.compiler.nodes.StructuredGraph java.lang.String java.lang.String
        18: aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.graalvm.compiler.debug.DebugContext debug
        end local 4 // boolean dumped
        end local 3 // boolean dumpedBefore
        end local 2 // boolean isTopLevel
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   20     0          this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;
            0   20     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   20     2    isTopLevel  Z
            0   20     3  dumpedBefore  Z
            1   20     4        dumped  Z
            2   20     5         debug  Lorg/graalvm/compiler/debug/DebugContext;
    MethodParameters:
              Name  Flags
      graph         final
      isTopLevel    
      dumpedBefore  

  private boolean shouldDump(org.graalvm.compiler.nodes.StructuredGraph, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=3
        start local 0 // org.graalvm.compiler.phases.BasePhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // java.lang.Object context
         0: .line 263
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 3 /* debug */
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 264
            getstatic org.graalvm.compiler.debug.DebugOptions.DumpOnPhaseChange:Lorg/graalvm/compiler/options/OptionKey;
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* phaseChange */
        start local 4 // java.lang.String phaseChange
         2: .line 265
            aload 4 /* phaseChange */
            ifnull 25
            aload 4 /* phaseChange */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokestatic java.util.regex.Pattern.matches:(Ljava/lang/String;Ljava/lang/CharSequence;)Z
            ifeq 25
         3: .line 266
            aload 1 /* graph */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.copy:(Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/graph/Graph;
            checkcast org.graalvm.compiler.nodes.StructuredGraph
            astore 5 /* graphCopy */
        start local 5 // org.graalvm.compiler.nodes.StructuredGraph graphCopy
         4: .line 267
            new org.graalvm.compiler.phases.BasePhase$GraphChangeListener
            dup
            aload 5 /* graphCopy */
            invokespecial org.graalvm.compiler.phases.BasePhase$GraphChangeListener.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            astore 6 /* listener */
        start local 6 // org.graalvm.compiler.phases.BasePhase$GraphChangeListener listener
         5: .line 268
            aconst_null
            astore 7
            aconst_null
            astore 8
         6: aload 5 /* graphCopy */
            aload 6 /* listener */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            astore 9 /* s */
        start local 9 // org.graalvm.compiler.graph.Graph$NodeEventScope s
         7: .line 269
            aconst_null
            astore 10
            aconst_null
            astore 11
         8: aload 3 /* debug */
            ldc "GraphChangeListener"
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.debug.DebugContext.sandbox:(Ljava/lang/CharSequence;Lorg/graalvm/compiler/debug/DebugConfig;[Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 12 /* s2 */
        start local 12 // org.graalvm.compiler.debug.DebugContext$Scope s2
         9: .line 270
            aload 0 /* this */
            aload 5 /* graphCopy */
            aload 2 /* context */
            invokevirtual org.graalvm.compiler.phases.BasePhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
        10: .line 271
            aload 12 /* s2 */
            ifnull 18
            aload 12 /* s2 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 18
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object org.graalvm.compiler.debug.DebugContext java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.BasePhase$GraphChangeListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        11: astore 10
            aload 12 /* s2 */
            ifnull 12
            aload 12 /* s2 */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 12 // org.graalvm.compiler.debug.DebugContext$Scope s2
      StackMap locals:
      StackMap stack:
        12: aload 10
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 11
            aload 10
            ifnonnull 14
            aload 11
            astore 10
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 10
            aload 11
            if_acmpeq 15
            aload 10
            aload 11
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 10
            athrow
      StackMap locals: org.graalvm.compiler.phases.BasePhase org.graalvm.compiler.nodes.StructuredGraph java.lang.Object org.graalvm.compiler.debug.DebugContext java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.BasePhase$GraphChangeListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope
      StackMap stack: java.lang.Throwable
        16: astore 10 /* t */
        start local 10 // java.lang.Throwable t
        17: .line 272
            aload 3 /* debug */
            aload 10 /* t */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            pop
        end local 10 // java.lang.Throwable t
        18: .line 274
      StackMap locals:
      StackMap stack:
            aload 9 /* s */
            ifnull 24
            aload 9 /* s */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 7
            aload 9 /* s */
            ifnull 20
            aload 9 /* s */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
        end local 9 // org.graalvm.compiler.graph.Graph$NodeEventScope s
      StackMap locals:
      StackMap stack:
        20: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 8
            aload 7
            ifnonnull 22
            aload 8
            astore 7
            goto 23
      StackMap locals:
      StackMap stack:
        22: aload 7
            aload 8
            if_acmpeq 23
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        23: aload 7
            athrow
        24: .line 275
      StackMap locals:
      StackMap stack:
            aload 6 /* listener */
            getfield org.graalvm.compiler.phases.BasePhase$GraphChangeListener.changed:Z
            ireturn
        end local 6 // org.graalvm.compiler.phases.BasePhase$GraphChangeListener listener
        end local 5 // org.graalvm.compiler.nodes.StructuredGraph graphCopy
        25: .line 277
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // java.lang.String phaseChange
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // java.lang.Object context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;
            0   26     1        graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   26     2      context  TC;
            1   26     3        debug  Lorg/graalvm/compiler/debug/DebugContext;
            2   26     4  phaseChange  Ljava/lang/String;
            4   25     5    graphCopy  Lorg/graalvm/compiler/nodes/StructuredGraph;
            5   25     6     listener  Lorg/graalvm/compiler/phases/BasePhase$GraphChangeListener;
            7   20     9            s  Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            9   12    12           s2  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           17   18    10            t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           9    10      11  any
           8    13      13  any
           7    16      16  Class java.lang.Throwable
           7    18      19  any
           6    21      21  any
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;)Z
    MethodParameters:
         Name  Flags
      graph    
      context  

  protected java.lang.CharSequence getName();
    descriptor: ()Ljava/lang/CharSequence;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.BasePhase this
         0: .line 301
            new org.graalvm.compiler.phases.ClassTypeSequence
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokespecial org.graalvm.compiler.phases.ClassTypeSequence.<init>:(Ljava/lang/Class;)V
            areturn
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;

  protected abstract void run(org.graalvm.compiler.nodes.StructuredGraph, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TC;)V
    MethodParameters:
         Name  Flags
      graph    
      context  

  public java.lang.String contractorName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.BasePhase this
         0: .line 308
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.getName:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;

  public float codeSizeIncrease();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.BasePhase this
         0: .line 313
            ldc 1.25
            freturn
        end local 0 // org.graalvm.compiler.phases.BasePhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;
}
Signature: <C:Ljava/lang/Object;>Ljava/lang/Object;Lorg/graalvm/compiler/phases/contract/PhaseSizeContract;
SourceFile: "BasePhase.java"
NestMembers:
  org.graalvm.compiler.phases.BasePhase$1  org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics  org.graalvm.compiler.phases.BasePhase$ExcludePhaseFilter  org.graalvm.compiler.phases.BasePhase$GraphChangeListener  org.graalvm.compiler.phases.BasePhase$NamePatternHolder  org.graalvm.compiler.phases.BasePhase$PhaseOptions
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 Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
  public abstract NodeEventListener = org.graalvm.compiler.graph.Graph$NodeEventListener of org.graalvm.compiler.graph.Graph
  public final NodeEventScope = org.graalvm.compiler.graph.Graph$NodeEventScope of org.graalvm.compiler.graph.Graph
  org.graalvm.compiler.phases.BasePhase$1
  public BasePhaseStatistics = org.graalvm.compiler.phases.BasePhase$BasePhaseStatistics of org.graalvm.compiler.phases.BasePhase
  private final ExcludePhaseFilter = org.graalvm.compiler.phases.BasePhase$ExcludePhaseFilter of org.graalvm.compiler.phases.BasePhase
  private final GraphChangeListener = org.graalvm.compiler.phases.BasePhase$GraphChangeListener of org.graalvm.compiler.phases.BasePhase
  NamePatternHolder = org.graalvm.compiler.phases.BasePhase$NamePatternHolder of org.graalvm.compiler.phases.BasePhase
  public PhaseOptions = org.graalvm.compiler.phases.BasePhase$PhaseOptions of org.graalvm.compiler.phases.BasePhase