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 62
            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 63
            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 65
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
         1: .line 66
            aload 0 /* this */
            iload 1 /* maxIterations */
            putfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.maxIterations:I
         2: .line 67
            aload 0 /* this */
            aload 2 /* canonicalizer */
            putfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
         3: .line 68
            aload 0 /* this */
            iload 3 /* unscheduled */
            putfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.unscheduled:Z
         4: .line 69
            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 73
            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 74
            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=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.phases.tiers.PhaseContext context
         0: .line 78
            iconst_0
            istore 3 /* changed */
        start local 3 // boolean changed
         1: .line 79
            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 80
            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 81
            iconst_0
            istore 6 /* iteration */
        start local 6 // int iteration
         4: goto 62
         5: .line 82
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext 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.phases.tiers.PhaseContext 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.phases.tiers.PhaseContext 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 85
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.unscheduled:Z
            ifeq 13
        10: .line 86
            aconst_null
            astore 10 /* schedule */
        start local 10 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        11: .line 87
            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 88
            goto 16
        end local 11 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 10 // org.graalvm.compiler.nodes.StructuredGraph$ScheduleResult schedule
        13: .line 89
      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 90
            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 91
            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 93
      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 94
            aload 0 /* this */
            aload 2 /* context */
            aload 10 /* schedule */
            aload 11 /* 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 15 /* closure */
        start local 15 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure closure
        19: .line 95
            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 97
            aload 15 /* closure */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure.needsApplyEffects:()Z
            ifeq 41
        21: .line 99
            new org.graalvm.compiler.phases.common.util.HashSetNodeEventListener
            dup
            invokespecial org.graalvm.compiler.phases.common.util.HashSetNodeEventListener.<init>:()V
            astore 16 /* listener */
        start local 16 // org.graalvm.compiler.phases.common.util.HashSetNodeEventListener listener
        22: .line 100
            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 101
            aload 15 /* closure */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure.applyEffects:()V
        25: .line 102
            aload 19 /* nes */
            ifnull 31
            aload 19 /* nes */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
            goto 31
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext 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.HashSetNodeEventListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope
      StackMap stack: java.lang.Throwable
        26: astore 17
            aload 19 /* nes */
            ifnull 27
            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:
        27: aload 17
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: astore 18
            aload 17
            ifnonnull 29
            aload 18
            astore 17
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 17
            aload 18
            if_acmpeq 30
            aload 17
            aload 18
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        30: aload 17
            athrow
        31: .line 104
      StackMap locals:
      StackMap stack:
            aload 5 /* debug */
            iconst_3
            invokevirtual org.graalvm.compiler.debug.DebugContext.isDumpEnabled:(I)Z
            ifeq 33
        32: .line 105
            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
        33: .line 108
      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
        34: .line 110
            aload 16 /* listener */
            invokevirtual org.graalvm.compiler.phases.common.util.HashSetNodeEventListener.getNodes:()Ljdk/internal/vm/compiler/collections/EconomicSet;
            astore 17 /* changedNodes */
        start local 17 // jdk.internal.vm.compiler.collections.EconomicSet changedNodes
        35: .line 111
            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 19
            goto 39
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext 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.HashSetNodeEventListener jdk.internal.vm.compiler.collections.EconomicSet top java.util.Iterator
      StackMap stack:
        36: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 18 /* node */
        start local 18 // org.graalvm.compiler.graph.Node node
        37: .line 112
            aload 18 /* node */
            instanceof org.graalvm.compiler.graph.spi.Simplifiable
            ifeq 39
        38: .line 113
            aload 17 /* changedNodes */
            aload 18 /* node */
            invokeinterface jdk.internal.vm.compiler.collections.EconomicSet.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // org.graalvm.compiler.graph.Node node
        39: .line 111
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        40: .line 116
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            aload 17 /* changedNodes */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase.postIteration:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljdk/internal/vm/compiler/collections/EconomicSet;)V
        end local 17 // jdk.internal.vm.compiler.collections.EconomicSet changedNodes
        end local 16 // org.graalvm.compiler.phases.common.util.HashSetNodeEventListener listener
        41: .line 119
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext 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
      StackMap stack:
            aload 15 /* closure */
            invokevirtual org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure.hasChanged:()Z
            ifeq 44
        42: .line 120
            iconst_1
            istore 3 /* changed */
        43: .line 121
            goto 47
        44: .line 124
      StackMap locals:
      StackMap stack:
            aload 14 /* scheduleScope */
            ifnull 45
            aload 14 /* scheduleScope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        45: .line 127
      StackMap locals:
      StackMap stack:
            aload 9 /* s */
            ifnull 63
            aload 9 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        46: .line 122
            goto 63
        end local 15 // org.graalvm.compiler.virtual.phases.ea.EffectsPhase$Closure closure
        47: .line 124
      StackMap locals:
      StackMap stack:
            aload 14 /* scheduleScope */
            ifnull 55
            aload 14 /* scheduleScope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 55
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: astore 12
            aload 14 /* scheduleScope */
            ifnull 49
            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:
        49: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: astore 13
            aload 12
            ifnonnull 51
            aload 13
            astore 12
            goto 52
      StackMap locals:
      StackMap stack:
        51: aload 12
            aload 13
            if_acmpeq 52
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        52: aload 12
            athrow
      StackMap locals: org.graalvm.compiler.virtual.phases.ea.EffectsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext 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
        53: astore 12 /* t */
        start local 12 // java.lang.Throwable t
        54: .line 125
            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
        55: .line 127
      StackMap locals:
      StackMap stack:
            aload 9 /* s */
            ifnull 61
            aload 9 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 61
      StackMap locals:
      StackMap stack: java.lang.Throwable
        56: astore 7
            aload 9 /* s */
            ifnull 57
            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:
        57: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        58: astore 8
            aload 7
            ifnonnull 59
            aload 8
            astore 7
            goto 60
      StackMap locals:
      StackMap stack:
        59: aload 7
            aload 8
            if_acmpeq 60
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        60: aload 7
            athrow
        61: .line 81
      StackMap locals:
      StackMap stack:
            iinc 6 /* iteration */ 1
      StackMap locals:
      StackMap stack:
        62: iload 6 /* iteration */
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.maxIterations:I
            if_icmpge 63
            aload 4 /* compilationAlarm */
            invokevirtual org.graalvm.compiler.core.common.util.CompilationAlarm.hasExpired:()Z
            ifeq 5
        end local 6 // int iteration
        63: .line 129
      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.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   64     0              this  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase<TPhaseContextT;>;
            0   64     1             graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   64     2           context  TPhaseContextT;
            1   64     3           changed  Z
            2   64     4  compilationAlarm  Lorg/graalvm/compiler/core/common/util/CompilationAlarm;
            3   64     5             debug  Lorg/graalvm/compiler/debug/DebugContext;
            4   63     6         iteration  I
            9   57     9                 s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           11   13    10          schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
           15   55    10          schedule  Lorg/graalvm/compiler/nodes/StructuredGraph$ScheduleResult;
           12   13    11               cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
           16   55    11               cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
           18   49    14     scheduleScope  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           19   47    15           closure  Lorg/graalvm/compiler/virtual/phases/ea/EffectsPhase$Closure<*>;
           22   41    16          listener  Lorg/graalvm/compiler/phases/common/util/HashSetNodeEventListener;
           24   27    19               nes  Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
           35   41    17      changedNodes  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
           37   39    18              node  Lorg/graalvm/compiler/graph/Node;
           54   55    12                 t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          24    25      26  any
          23    28      28  any
          18    44      48  any
          17    45      50  any
          47    50      50  any
          16    45      53  Class java.lang.Throwable
          47    53      53  Class java.lang.Throwable
           9    45      56  any
          47    55      56  any
           6    46      58  any
          47    58      58  any
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TPhaseContextT;)Z
    MethodParameters:
         Name  Flags
      graph    
      context  

  protected void postIteration(org.graalvm.compiler.nodes.StructuredGraph, PhaseContextT, jdk.internal.vm.compiler.collections.EconomicSet<org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;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.phases.tiers.PhaseContext context
        start local 3 // jdk.internal.vm.compiler.collections.EconomicSet changedNodes
         0: .line 133
            aload 0 /* this */
            getfield org.graalvm.compiler.virtual.phases.ea.EffectsPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            ifnull 2
         1: .line 134
            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 136
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.internal.vm.compiler.collections.EconomicSet 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  Ljdk/internal/vm/compiler/collections/EconomicSet<Lorg/graalvm/compiler/graph/Node;>;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;TPhaseContextT;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(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.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