public abstract class org.graalvm.compiler.virtual.phases.ea.EffectsPhase<PhaseContextT extends org.graalvm.compiler.phases.tiers.PhaseContext> extends org.graalvm.compiler.phases.BasePhase<PhaseContextT>
  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<TPhaseContextT;>;
            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<TPhaseContextT;>;
            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/phases/tiers/PhaseContext;)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.phases.tiers.PhaseContext 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/phases/tiers/PhaseContext;)Z
            pop
         1: .line 73
            return
        end local 2 // org.graalvm.compiler.phases.tiers.PhaseContext 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<TPhaseContextT;>;
            0    2     1    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2  context  TPhaseContextT;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TPhaseContextT;)V
    MethodParameters:
         Name  Flags
      graph    
      context  

  public boolean runAnalysis(org.graalvm.compiler.nodes.StructuredGraph, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=19, 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.phases.tiers.PhaseContext context
         0: .line 77
            iconst_0
            istore 3 /* changed */
        start local 3 // boolean changed
         1: .line 78
            iconst_0
            istore 4 /* stop */
        start local 4 // boolean stop
         2: .line 79
            iconst_0
            istore 5 /* iteration */
        start local 5 // int iteration
         3: goto 58
         4: .line 80
      StackMap locals: int int int
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
         5: invokestatic org.graalvm.compiler.debug.Debug.isEnabled:()Z
            ifeq 6
            new java.lang.StringBuilder
            dup
            ldc "iteration "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* iteration */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 7
      StackMap locals: java.lang.Throwable java.lang.Throwable
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         7: invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
            astore 8 /* s */
        start local 8 // org.graalvm.compiler.debug.Debug$Scope s
         8: .line 83
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.unscheduled:Z
            ifeq 12
         9: .line 84
            aconst_null
            astore 9 /* schedule */
        start local 9 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        10: .line 85
            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 10 /* cfg */
        start local 10 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        11: .line 86
            goto 15
        end local 10 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 9 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        12: .line 87
      StackMap locals: org.graalvm.compiler.debug.Debug$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
        13: .line 88
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getLastSchedule:()Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
            astore 9 /* schedule */
        start local 9 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        14: .line 89
            aload 9 /* schedule */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult.getCFG:()Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            astore 10 /* cfg */
        start local 10 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        15: .line 91
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack:
            aconst_null
            astore 11
            aconst_null
            astore 12
        16: ldc "EffectsPhaseWithSchedule"
            aload 9 /* schedule */
            invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
            astore 13 /* scheduleScope */
        start local 13 // org.graalvm.compiler.debug.Debug$Scope scheduleScope
        17: .line 92
            aload 0 /* this */
            aload 2 /* context */
            aload 9 /* schedule */
            aload 10 /* cfg */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.createEffectsClosure:(Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase$Closure;
            astore 14 /* closure */
        start local 14 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure closure
        18: .line 93
            aload 14 /* closure */
            aload 10 /* 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
        19: .line 95
            aload 14 /* closure */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure.hasChanged:()Z
            ifeq 22
        20: .line 96
            iconst_1
            istore 3 /* changed */
        21: .line 97
            goto 23
        22: .line 98
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext int int int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure
      StackMap stack:
            iconst_1
            istore 4 /* stop */
        23: .line 102
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.phases.common.util.HashSetNodeEventListener
            dup
            invokespecial org.graalvm.compiler.phases.common.util.HashSetNodeEventListener.<init>:()V
            astore 15 /* listener */
        start local 15 // org.graalvm.compiler.phases.common.util.HashSetNodeEventListener listener
        24: .line 103
            aconst_null
            astore 16
            aconst_null
            astore 17
        25: aload 1 /* graph */
            aload 15 /* listener */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            astore 18 /* nes */
        start local 18 // org.graalvm.compiler.graph.Graph$NodeEventScope nes
        26: .line 104
            aload 14 /* closure */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure.applyEffects:()V
        27: .line 105
            aload 18 /* nes */
            ifnull 33
            aload 18 /* nes */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
            goto 33
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext int int int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure org.graalvm.compiler.phases.common.util.HashSetNodeEventListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope
      StackMap stack: java.lang.Throwable
        28: astore 16
            aload 18 /* nes */
            ifnull 29
            aload 18 /* nes */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
        end local 18 // org.graalvm.compiler.graph.Graph$NodeEventScope nes
      StackMap locals:
      StackMap stack:
        29: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        30: astore 17
            aload 16
            ifnonnull 31
            aload 17
            astore 16
            goto 32
      StackMap locals:
      StackMap stack:
        31: aload 16
            aload 17
            if_acmpeq 32
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        32: aload 16
            athrow
        33: .line 107
      StackMap locals:
      StackMap stack:
            iconst_2
            invokestatic org.graalvm.compiler.debug.Debug.isDumpEnabled:(I)Z
            ifeq 35
        34: .line 108
            iconst_2
            aload 1 /* graph */
            ldc "%s iteration"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.getName:()Ljava/lang/CharSequence;
            invokestatic org.graalvm.compiler.debug.Debug.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        35: .line 111
      StackMap locals:
      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
        36: .line 113
            aload 15 /* listener */
            invokevirtual org.graalvm.compiler.phases.common.util.HashSetNodeEventListener.getNodes:()Ljava/util/Set;
            astore 16 /* changedNodes */
        start local 16 // java.util.Set changedNodes
        37: .line 114
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 18
            goto 41
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext int int int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure org.graalvm.compiler.phases.common.util.HashSetNodeEventListener java.util.Set top java.util.Iterator
      StackMap stack:
        38: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 17 /* node */
        start local 17 // org.graalvm.compiler.graph.Node node
        39: .line 115
            aload 17 /* node */
            instanceof org.graalvm.compiler.graph.spi.Simplifiable
            ifeq 41
        40: .line 116
            aload 16 /* changedNodes */
            aload 17 /* node */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 17 // org.graalvm.compiler.graph.Node node
        41: .line 114
      StackMap locals:
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        42: .line 119
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            aload 16 /* changedNodes */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.postIteration:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/util/Set;)V
        end local 16 // java.util.Set changedNodes
        end local 15 // org.graalvm.compiler.phases.common.util.HashSetNodeEventListener listener
        end local 14 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure closure
        43: .line 120
            aload 13 /* scheduleScope */
            ifnull 51
            aload 13 /* scheduleScope */
            invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
            goto 51
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext int int int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
      StackMap stack: java.lang.Throwable
        44: astore 11
            aload 13 /* scheduleScope */
            ifnull 45
            aload 13 /* scheduleScope */
            invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
        end local 13 // org.graalvm.compiler.debug.Debug$Scope scheduleScope
      StackMap locals:
      StackMap stack:
        45: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        46: astore 12
            aload 11
            ifnonnull 47
            aload 12
            astore 11
            goto 48
      StackMap locals:
      StackMap stack:
        47: aload 11
            aload 12
            if_acmpeq 48
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        48: aload 11
            athrow
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext int int int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack: java.lang.Throwable
        49: astore 11 /* t */
        start local 11 // java.lang.Throwable t
        50: .line 121
            aload 11 /* t */
            invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 11 // java.lang.Throwable t
        end local 10 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 9 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        51: .line 123
      StackMap locals:
      StackMap stack:
            aload 8 /* s */
            ifnull 57
            aload 8 /* s */
            invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
            goto 57
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: astore 6
            aload 8 /* s */
            ifnull 53
            aload 8 /* s */
            invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
        end local 8 // org.graalvm.compiler.debug.Debug$Scope s
      StackMap locals:
      StackMap stack:
        53: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        54: astore 7
            aload 6
            ifnonnull 55
            aload 7
            astore 6
            goto 56
      StackMap locals:
      StackMap stack:
        55: aload 6
            aload 7
            if_acmpeq 56
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        56: aload 6
            athrow
        57: .line 79
      StackMap locals:
      StackMap stack:
            iinc 5 /* iteration */ 1
      StackMap locals:
      StackMap stack:
        58: iload 4 /* stop */
            ifne 59
            iload 5 /* iteration */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.maxIterations:I
            if_icmpge 59
            invokestatic org.graalvm.compiler.core.common.util.CompilationAlarm.hasExpired:()Z
            ifeq 4
        end local 5 // int iteration
        59: .line 125
      StackMap locals:
      StackMap stack:
            iload 3 /* changed */
            ireturn
        end local 4 // boolean stop
        end local 3 // boolean changed
        end local 2 // org.graalvm.compiler.phases.tiers.PhaseContext 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   60     0           this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase<TPhaseContextT;>;
            0   60     1          graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   60     2        context  TPhaseContextT;
            1   60     3        changed  Z
            2   60     4           stop  Z
            3   59     5      iteration  I
            8   53     8              s  Lorg/graalvm/compiler/debug/Debug$Scope;
           10   12     9       schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
           14   51     9       schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
           11   12    10            cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
           15   51    10            cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
           17   45    13  scheduleScope  Lorg/graalvm/compiler/debug/Debug$Scope;
           18   43    14        closure  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase$Closure<*>;
           24   43    15       listener  Lorg/graalvm/compiler/phases/common/util/HashSetNodeEventListener;
           26   29    18            nes  Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
           37   43    16   changedNodes  Ljava/util/Set<Lorg/graalvm/compiler/graph/Node;>;
           39   41    17           node  Lorg/graalvm/compiler/graph/Node;
           50   51    11              t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          26    27      28  any
          25    30      30  any
          17    43      44  any
          16    46      46  any
          15    49      49  Class java.lang.Throwable
           8    51      52  any
           5    54      54  any
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TPhaseContextT;)Z
    MethodParameters:
         Name  Flags
      graph    final
      context  final

  protected void postIteration(org.graalvm.compiler.nodes.StructuredGraph, PhaseContextT, java.util.Set<org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/util/Set;)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.phases.tiers.PhaseContext context
        start local 3 // java.util.Set changedNodes
         0: .line 129
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            ifnull 2
         1: .line 130
            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/phases/tiers/PhaseContext;Ljava/lang/Iterable;)V
         2: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Set changedNodes
        end local 2 // org.graalvm.compiler.phases.tiers.PhaseContext 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<TPhaseContextT;>;
            0    3     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    3     2       context  TPhaseContextT;
            0    3     3  changedNodes  Ljava/util/Set<Lorg/graalvm/compiler/graph/Node;>;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TPhaseContextT;Ljava/util/Set<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(PhaseContextT, org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult, org.graalvm.compiler.nodes.cfg.ControlFlowGraph);
    descriptor: (Lorg/graalvm/compiler/phases/tiers/PhaseContext;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: (TPhaseContextT;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.phases.tiers.PhaseContext
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: <PhaseContextT:Lorg/graalvm/compiler/phases/tiers/PhaseContext;>Lorg/graalvm/compiler/phases/BasePhase<TPhaseContextT;>;
SourceFile: "EffectsPhase.java"
NestMembers:
  org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure
InnerClasses:
  public abstract Scope = org.graalvm.compiler.debug.Debug$Scope of org.graalvm.compiler.debug.Debug
  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