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 54
            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 119
            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 124
            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 127
            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 130
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 131
            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 132
            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 133
            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 134
            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 135
            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 136
            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 139
            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 140
            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 143
            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 144
            aload 2 /* c */
            aload 0 /* this */
            if_acmpeq 5
            aload 2 /* c */
            instanceof org.graalvm.compiler.phases.BasePhase
            ifeq 5
         3: .line 145
            aload 2 /* c */
            instanceof org.graalvm.compiler.phases.PhaseSuite
            ifne 5
         4: .line 146
            aload 2 /* c */
            checkcast org.graalvm.compiler.phases.BasePhase
            areturn
        end local 2 // java.lang.Object c
         5: .line 143
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 150
            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 154
            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 155
            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 156
      StackMap locals: org.graalvm.compiler.debug.DebugContext
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDumpBeforeAtBasicLevel:()Z
            ifeq 5
         3: .line 157
            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 158
            goto 15
         5: .line 159
      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 161
            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 162
            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 163
            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 164
            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 165
            iconst_1
            ireturn
        15: .line 167
      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 171
            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 175
            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=17, 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 180
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.checkCancellation:()V
         1: .line 181
            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
         2: .line 182
            aconst_null
            astore 5
            aconst_null
            astore 6
         3: 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 7 /* a */
        start local 7 // org.graalvm.compiler.debug.DebugCloseable a
         4: 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 8 /* s */
        start local 8 // org.graalvm.compiler.debug.DebugContext$Scope s
         5: 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 9 /* c */
        start local 9 // org.graalvm.compiler.debug.DebugCloseable c
         6: .line 183
            iconst_0
            istore 10 /* sizeBefore */
        start local 10 // int sizeBefore
         7: .line 184
            aconst_null
            astore 11 /* before */
        start local 11 // org.graalvm.compiler.graph.Graph$Mark before
         8: .line 185
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
            astore 12 /* options */
        start local 12 // org.graalvm.compiler.options.OptionValues options
         9: .line 186
            getstatic org.graalvm.compiler.phases.BasePhase$PhaseOptions.VerifyGraalPhasesSize:Lorg/graalvm/compiler/options/OptionKey;
            aload 12 /* 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 10
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.checkContract:()Z
            ifeq 10
            iconst_1
            goto 11
      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.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:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 13 /* verifySizeContract */
        start local 13 // boolean verifySizeContract
        12: .line 187
            iload 13 /* verifySizeContract */
            ifeq 15
        13: .line 188
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.phases.contract.NodeCostUtil.computeGraphSize:(Lorg/graalvm/compiler/nodes/StructuredGraph;)I
            istore 10 /* sizeBefore */
        14: .line 189
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getMark:()Lorg/graalvm/compiler/graph/Graph$Mark;
            astore 11 /* before */
        15: .line 191
      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 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 14 /* isTopLevel */
        start local 14 // boolean isTopLevel
        18: .line 192
            iconst_0
            istore 15 /* dumpedBefore */
        start local 15 // boolean dumpedBefore
        19: .line 193
            iload 3 /* dumpGraph */
            ifeq 21
            aload 4 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.areScopesEnabled:()Z
            ifeq 21
        20: .line 194
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            iload 14 /* isTopLevel */
            invokevirtual org.graalvm.compiler.phases.BasePhase.dumpBefore:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;Z)Z
            istore 15 /* dumpedBefore */
        21: .line 196
      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
        22: .line 197
            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
        23: .line 198
            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
        24: .line 199
            iload 13 /* verifySizeContract */
            ifeq 28
        25: .line 200
            aload 11 /* before */
            invokevirtual org.graalvm.compiler.graph.Graph$Mark.isCurrent:()Z
            ifne 28
        26: .line 201
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.phases.contract.NodeCostUtil.computeGraphSize:(Lorg/graalvm/compiler/nodes/StructuredGraph;)I
            istore 16 /* sizeAfter */
        start local 16 // int sizeAfter
        27: .line 202
            aload 1 /* graph */
            iload 10 /* sizeBefore */
            iload 16 /* 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 16 // int sizeAfter
        28: .line 206
      StackMap locals:
      StackMap stack:
            iload 3 /* dumpGraph */
            ifeq 30
            aload 4 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.areScopesEnabled:()Z
            ifeq 30
        29: .line 207
            aload 0 /* this */
            aload 1 /* graph */
            iload 14 /* isTopLevel */
            iload 15 /* dumpedBefore */
            invokevirtual org.graalvm.compiler.phases.BasePhase.dumpAfter:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZ)V
        30: .line 209
      StackMap locals:
      StackMap stack:
            aload 4 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isVerifyEnabled:()Z
            ifeq 32
        31: .line 210
            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
        32: .line 212
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.phases.BasePhase.$assertionsDisabled:Z
            ifne 33
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.verify:()Z
            ifne 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 15 // boolean dumpedBefore
        end local 14 // boolean isTopLevel
        end local 13 // boolean verifySizeContract
        end local 12 // org.graalvm.compiler.options.OptionValues options
        end local 11 // org.graalvm.compiler.graph.Graph$Mark before
        end local 10 // int sizeBefore
        33: .line 213
      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.DebugCloseable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.debug.DebugCloseable
      StackMap stack:
            aload 9 /* c */
            ifnull 36
            aload 9 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 5
            aload 9 /* c */
            ifnull 35
            aload 9 /* c */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 9 // org.graalvm.compiler.debug.DebugCloseable c
      StackMap locals:
      StackMap stack:
        35: aload 5
            athrow
      StackMap locals:
      StackMap stack:
        36: aload 8 /* s */
            ifnull 41
            aload 8 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 41
      StackMap locals:
      StackMap stack: java.lang.Throwable
        37: astore 6
            aload 5
            ifnonnull 38
            aload 6
            astore 5
            goto 39
      StackMap locals:
      StackMap stack:
        38: aload 5
            aload 6
            if_acmpeq 39
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        39: aload 8 /* s */
            ifnull 40
            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:
        40: aload 5
            athrow
      StackMap locals:
      StackMap stack:
        41: aload 7 /* a */
            ifnull 51
            aload 7 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
            goto 51
      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 7 /* a */
            ifnull 45
            aload 7 /* a */
            invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
        end local 7 // org.graalvm.compiler.debug.DebugCloseable a
      StackMap locals:
      StackMap stack:
        45: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: astore 6
            aload 5
            ifnonnull 47
            aload 6
            astore 5
            goto 48
      StackMap locals:
      StackMap stack:
        47: aload 5
            aload 6
            if_acmpeq 48
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        48: 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
        49: astore 5 /* t */
        start local 5 // java.lang.Throwable t
        50: .line 214
            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
        51: .line 216
      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   52     0                this  Lorg/graalvm/compiler/phases/BasePhase<TC;>;
            0   52     1               graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   52     2             context  TC;
            0   52     3           dumpGraph  Z
            2   52     4               debug  Lorg/graalvm/compiler/debug/DebugContext;
            4   45     7                   a  Lorg/graalvm/compiler/debug/DebugCloseable;
            5   40     8                   s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            6   35     9                   c  Lorg/graalvm/compiler/debug/DebugCloseable;
            7   33    10          sizeBefore  I
            8   33    11              before  Lorg/graalvm/compiler/graph/Graph$Mark;
            9   33    12             options  Lorg/graalvm/compiler/options/OptionValues;
           12   33    13  verifySizeContract  Z
           18   33    14          isTopLevel  Z
           19   33    15        dumpedBefore  Z
           27   28    16           sizeAfter  I
           50   51     5                   t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           6    33      34  any
           5    36      37  any
           4    41      42  any
           3    46      46  any
           2    49      49  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 219
            iconst_0
            istore 4 /* dumped */
        start local 4 // boolean dumped
         1: .line 220
            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 221
            iload 2 /* isTopLevel */
            ifeq 12
         3: .line 222
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.phases.BasePhase.shouldDumpAfterAtBasicLevel:()Z
            ifeq 8
         4: .line 223
            aload 5 /* debug */
            iconst_1
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 15
         5: .line 224
            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 225
            iconst_1
            istore 4 /* dumped */
         7: .line 227
            goto 15
         8: .line 228
      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 229
            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 230
            iconst_1
            istore 4 /* dumped */
        11: .line 233
            goto 15
        12: .line 234
      StackMap locals:
      StackMap stack:
            aload 5 /* debug */
            iconst_3
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 15
        13: .line 235
            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 236
            iconst_1
            istore 4 /* dumped */
        15: .line 239
      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 240
            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 242
      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 246
            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 247
            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 248
            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 249
            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 250
            new org.graalvm.compiler.phases.BasePhase$GraphChangeListener
            dup
            aload 0 /* this */
            aload 5 /* graphCopy */
            invokespecial org.graalvm.compiler.phases.BasePhase$GraphChangeListener.<init>:(Lorg/graalvm/compiler/phases/BasePhase;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            astore 6 /* listener */
        start local 6 // org.graalvm.compiler.phases.BasePhase$GraphChangeListener listener
         5: .line 251
            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 252
            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 253
            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 254
            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 255
            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 257
      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 258
      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 260
      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<TC;>.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 284
            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 291
            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 296
            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$GraphChangeListener  org.graalvm.compiler.phases.BasePhase$NamePatternHolder  org.graalvm.compiler.phases.BasePhase$PhaseOptions
InnerClasses:
  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 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