public abstract class org.graalvm.compiler.virtual.phases.ea.EffectsPhase<CoreProvidersT extends org.graalvm.compiler.nodes.spi.CoreProviders> extends org.graalvm.compiler.phases.BasePhase<CoreProvidersT>
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.graalvm.compiler.virtual.phases.ea.EffectsPhase
  super_class: org.graalvm.compiler.phases.BasePhase
{
  private final int maxIterations;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer;
    descriptor: Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private final boolean unscheduled;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(int, org.graalvm.compiler.phases.common.CanonicalizerPhase);
    descriptor: (ILorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
        start local 1 // int maxIterations
        start local 2 // org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer
         0: .line 61
            aload 0 /* this */
            iload 1 /* maxIterations */
            aload 2 /* canonicalizer */
            iconst_0
            invokespecial org.graalvm.compiler.virtual.phases.ea.EffectsPhase.<init>:(ILorg/graalvm/compiler/phases/common/CanonicalizerPhase;Z)V
         1: .line 62
            return
        end local 2 // org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer
        end local 1 // int maxIterations
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase<TCoreProvidersT;>;
            0    2     1  maxIterations  I
            0    2     2  canonicalizer  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
    MethodParameters:
               Name  Flags
      maxIterations  
      canonicalizer  

  protected void <init>(int, org.graalvm.compiler.phases.common.CanonicalizerPhase, boolean);
    descriptor: (ILorg/graalvm/compiler/phases/common/CanonicalizerPhase;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
        start local 1 // int maxIterations
        start local 2 // org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer
        start local 3 // boolean unscheduled
         0: .line 64
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
         1: .line 65
            aload 0 /* this */
            iload 1 /* maxIterations */
            putfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.maxIterations:I
         2: .line 66
            aload 0 /* this */
            aload 2 /* canonicalizer */
            putfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
         3: .line 67
            aload 0 /* this */
            iload 3 /* unscheduled */
            putfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.unscheduled:Z
         4: .line 68
            return
        end local 3 // boolean unscheduled
        end local 2 // org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer
        end local 1 // int maxIterations
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase<TCoreProvidersT;>;
            0    5     1  maxIterations  I
            0    5     2  canonicalizer  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            0    5     3    unscheduled  Z
    MethodParameters:
               Name  Flags
      maxIterations  
      canonicalizer  
      unscheduled    

  protected void run(org.graalvm.compiler.nodes.StructuredGraph, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
         0: .line 72
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.runAnalysis:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)Z
            pop
         1: .line 73
            return
        end local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase<TCoreProvidersT;>;
            0    2     1    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2  context  TCoreProvidersT;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TCoreProvidersT;)V
    MethodParameters:
         Name  Flags
      graph    
      context  

  public boolean runAnalysis(org.graalvm.compiler.nodes.StructuredGraph, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=20, args_size=3
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
         0: .line 77
            iconst_0
            istore 3 /* changed */
        start local 3 // boolean changed
         1: .line 78
            invokestatic org.graalvm.compiler.core.common.util.CompilationAlarm.current:()Lorg/graalvm/compiler/core/common/util/CompilationAlarm;
            astore 4 /* compilationAlarm */
        start local 4 // org.graalvm.compiler.core.common.util.CompilationAlarm compilationAlarm
         2: .line 79
            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
         3: .line 80
            iconst_0
            istore 6 /* iteration */
        start local 6 // int iteration
         4: goto 56
         5: .line 81
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders int org.graalvm.compiler.core.common.util.CompilationAlarm org.graalvm.compiler.debug.DebugContext int
      StackMap stack:
            aconst_null
            astore 7
            aconst_null
            astore 8
         6: aload 5 /* debug */
            aload 5 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.areScopesEnabled:()Z
            ifeq 7
            new java.lang.StringBuilder
            dup
            ldc "iteration "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* iteration */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 8
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders int org.graalvm.compiler.core.common.util.CompilationAlarm org.graalvm.compiler.debug.DebugContext int java.lang.Throwable java.lang.Throwable
      StackMap stack: org.graalvm.compiler.debug.DebugContext
         7: aconst_null
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders int org.graalvm.compiler.core.common.util.CompilationAlarm org.graalvm.compiler.debug.DebugContext int java.lang.Throwable java.lang.Throwable
      StackMap stack: org.graalvm.compiler.debug.DebugContext java.lang.String
         8: invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 9 /* s */
        start local 9 // org.graalvm.compiler.debug.DebugContext$Scope s
         9: .line 84
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.unscheduled:Z
            ifeq 13
        10: .line 85
            aconst_null
            astore 10 /* schedule */
        start local 10 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        11: .line 86
            aload 1 /* graph */
            iconst_1
            iconst_1
            iconst_0
            iconst_0
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.compute:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZZZ)Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            astore 11 /* cfg */
        start local 11 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        12: .line 87
            goto 16
        end local 11 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 10 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        13: .line 88
      StackMap locals: org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack:
            new org.graalvm.compiler.phases.schedule.SchedulePhase
            dup
            getstatic org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy.EARLIEST:Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;
            invokespecial org.graalvm.compiler.phases.schedule.SchedulePhase.<init>:(Lorg/graalvm/compiler/phases/schedule/SchedulePhase$SchedulingStrategy;)V
            aload 1 /* graph */
            iconst_0
            invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
        14: .line 89
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            astore 10 /* schedule */
        start local 10 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        15: .line 90
            aload 10 /* schedule */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            astore 11 /* cfg */
        start local 11 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        16: .line 92
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack:
            aconst_null
            astore 12
            aconst_null
            astore 13
        17: aload 5 /* debug */
            ldc "EffectsPhaseWithSchedule"
            aload 10 /* schedule */
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 14 /* scheduleScope */
        start local 14 // org.graalvm.compiler.debug.DebugContext$Scope scheduleScope
        18: .line 93
            aload 0 /* this */
            aload 2 /* context */
            aload 10 /* schedule */
            aload 11 /* cfg */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.createEffectsClosure:(Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase$Closure;
            astore 15 /* closure */
        start local 15 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure closure
        19: .line 94
            aload 15 /* closure */
            aload 11 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
            invokestatic org.graalvm.compiler.phases.graph.ReentrantBlockIterator.apply:(Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure;Lorg/graalvm/compiler/nodes/cfg/Block;)V
        20: .line 96
            aload 15 /* closure */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure.needsApplyEffects:()Z
            ifeq 35
        21: .line 98
            new org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener
            dup
            invokespecial org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener.<init>:()V
            astore 16 /* listener */
        start local 16 // org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener listener
        22: .line 99
            aconst_null
            astore 17
            aconst_null
            astore 18
        23: aload 1 /* graph */
            aload 16 /* listener */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            astore 19 /* nes */
        start local 19 // org.graalvm.compiler.graph.Graph$NodeEventScope nes
        24: .line 100
            aload 15 /* closure */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure.applyEffects:()V
        25: .line 102
            aload 5 /* debug */
            iconst_3
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 27
        26: .line 103
            aload 5 /* debug */
            iconst_3
            aload 1 /* graph */
            ldc "%s iteration"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.getName:()Ljava/lang/CharSequence;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        27: .line 106
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders int org.graalvm.compiler.core.common.util.CompilationAlarm org.graalvm.compiler.debug.DebugContext int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope
      StackMap stack:
            new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
            dup
            getstatic org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality.Required:Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;
            invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:(Lorg/graalvm/compiler/phases/common/DeadCodeEliminationPhase$Optionality;)V
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
        28: .line 107
            aload 19 /* nes */
            ifnull 34
            aload 19 /* nes */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
            goto 34
      StackMap locals:
      StackMap stack: java.lang.Throwable
        29: astore 17
            aload 19 /* nes */
            ifnull 30
            aload 19 /* nes */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
        end local 19 // org.graalvm.compiler.graph.Graph$NodeEventScope nes
      StackMap locals:
      StackMap stack:
        30: aload 17
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 18
            aload 17
            ifnonnull 32
            aload 18
            astore 17
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 17
            aload 18
            if_acmpeq 33
            aload 17
            aload 18
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        33: aload 17
            athrow
        34: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            aload 16 /* listener */
            invokevirtual org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener.getNodes:()Ljdk/internal/vm/compiler/collections/EconomicSet;
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.postIteration:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
        end local 16 // org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener listener
        35: .line 112
      StackMap locals:
      StackMap stack:
            aload 15 /* closure */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure.hasChanged:()Z
            ifeq 38
        36: .line 113
            iconst_1
            istore 3 /* changed */
        37: .line 114
            goto 41
        38: .line 117
      StackMap locals:
      StackMap stack:
            aload 14 /* scheduleScope */
            ifnull 39
            aload 14 /* scheduleScope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        39: .line 120
      StackMap locals:
      StackMap stack:
            aload 9 /* s */
            ifnull 57
            aload 9 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        40: .line 115
            goto 57
        end local 15 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure closure
        41: .line 117
      StackMap locals:
      StackMap stack:
            aload 14 /* scheduleScope */
            ifnull 49
            aload 14 /* scheduleScope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 49
      StackMap locals:
      StackMap stack: java.lang.Throwable
        42: astore 12
            aload 14 /* scheduleScope */
            ifnull 43
            aload 14 /* scheduleScope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 14 // org.graalvm.compiler.debug.DebugContext$Scope scheduleScope
      StackMap locals:
      StackMap stack:
        43: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        44: astore 13
            aload 12
            ifnonnull 45
            aload 13
            astore 12
            goto 46
      StackMap locals:
      StackMap stack:
        45: aload 12
            aload 13
            if_acmpeq 46
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        46: aload 12
            athrow
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders int org.graalvm.compiler.core.common.util.CompilationAlarm org.graalvm.compiler.debug.DebugContext int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack: java.lang.Throwable
        47: astore 12 /* t */
        start local 12 // java.lang.Throwable t
        48: .line 118
            aload 5 /* debug */
            aload 12 /* t */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 12 // java.lang.Throwable t
        end local 11 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 10 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        49: .line 120
      StackMap locals:
      StackMap stack:
            aload 9 /* s */
            ifnull 55
            aload 9 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 55
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: astore 7
            aload 9 /* s */
            ifnull 51
            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:
        51: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: astore 8
            aload 7
            ifnonnull 53
            aload 8
            astore 7
            goto 54
      StackMap locals:
      StackMap stack:
        53: aload 7
            aload 8
            if_acmpeq 54
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        54: aload 7
            athrow
        55: .line 80
      StackMap locals:
      StackMap stack:
            iinc 6 /* iteration */ 1
      StackMap locals:
      StackMap stack:
        56: iload 6 /* iteration */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.maxIterations:I
            if_icmpge 57
            aload 4 /* compilationAlarm */
            invokevirtual org.graalvm.compiler.core.common.util.CompilationAlarm.hasExpired:()Z
            ifeq 5
        end local 6 // int iteration
        57: .line 122
      StackMap locals:
      StackMap stack:
            iload 3 /* changed */
            ireturn
        end local 5 // org.graalvm.compiler.debug.DebugContext debug
        end local 4 // org.graalvm.compiler.core.common.util.CompilationAlarm compilationAlarm
        end local 3 // boolean changed
        end local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   58     0              this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase<TCoreProvidersT;>;
            0   58     1             graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   58     2           context  TCoreProvidersT;
            1   58     3           changed  Z
            2   58     4  compilationAlarm  Lorg/graalvm/compiler/core/common/util/CompilationAlarm;
            3   58     5             debug  Lorg/graalvm/compiler/debug/DebugContext;
            4   57     6         iteration  I
            9   51     9                 s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           11   13    10          schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
           15   49    10          schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
           12   13    11               cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
           16   49    11               cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
           18   43    14     scheduleScope  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           19   41    15           closure  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase$Closure<*>;
           22   35    16          listener  Lorg/graalvm/compiler/phases/common/util/EconomicSetNodeEventListener;
           24   30    19               nes  Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
           48   49    12                 t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          24    28      29  any
          23    31      31  any
          18    38      42  any
          17    39      44  any
          41    44      44  any
          16    39      47  Class java.lang.Throwable
          41    47      47  Class java.lang.Throwable
           9    39      50  any
          41    49      50  any
           6    40      52  any
          41    52      52  any
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TCoreProvidersT;)Z
    MethodParameters:
         Name  Flags
      graph    
      context  

  protected void postIteration(org.graalvm.compiler.nodes.StructuredGraph, CoreProvidersT, jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
        start local 3 // jdk.internal.vm.compiler.collections.EconomicSet changedNodes
         0: .line 126
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            ifnull 2
         1: .line 127
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            aload 1 /* graph */
            aload 2 /* context */
            aload 3 /* changedNodes */
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Ljava/lang/Iterable;)V
         2: .line 129
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.internal.vm.compiler.collections.EconomicSet changedNodes
        end local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase<TCoreProvidersT;>;
            0    3     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    3     2       context  TCoreProvidersT;
            0    3     3  changedNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TCoreProvidersT;Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;)V
    MethodParameters:
              Name  Flags
      graph         final
      context       final
      changedNodes  

  protected abstract org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure<?> createEffectsClosure(CoreProvidersT, org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult, org.graalvm.compiler.nodes.cfg.ControlFlowGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase$Closure;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (TCoreProvidersT;Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase$Closure<*>;
    MethodParameters:
          Name  Flags
      context   
      schedule  
      cfg       

  protected void run(org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.nodes.spi.CoreProviders
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <CoreProvidersT::Lorg/graalvm/compiler/nodes/spi/CoreProviders;>Lorg/graalvm/compiler/phases/BasePhase<TCoreProvidersT;>;
SourceFile: "EffectsPhase.java"
NestMembers:
  org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure
InnerClasses:
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  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
  public ScheduleResult = org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult of org.graalvm.compiler.nodes.StructuredGraph
  public final Optionality = org.graalvm.compiler.phases.common.DeadCodeEliminationPhase$Optionality of org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
  public abstract BlockIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantBlockIterator
  public final SchedulingStrategy = org.graalvm.compiler.phases.schedule.SchedulePhase$SchedulingStrategy of org.graalvm.compiler.phases.schedule.SchedulePhase
  public abstract Closure = org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure of org.graalvm.compiler.virtual.phases.ea.EffectsPhase