public class org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance
  super_class: java.lang.Object
{
  protected org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info> map;
    descriptor: Lorg/graalvm/compiler/graph/NodeMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Info;>;

  protected java.util.Deque<org.graalvm.compiler.nodes.LoopExitNode> loopExits;
    descriptor: Ljava/util/Deque;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Deque<Lorg/graalvm/compiler/nodes/LoopExitNode;>;

  protected final java.util.function.Function<org.graalvm.compiler.nodes.cfg.Block, java.lang.Iterable<? extends org.graalvm.compiler.graph.Node>> blockToNodes;
    descriptor: Ljava/util/function/Function;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/function/Function<Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;>;

  protected final java.util.function.Function<org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.cfg.Block> nodeToBlock;
    descriptor: Ljava/util/function/Function;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Signature: Ljava/util/function/Function<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;>;

  protected final org.graalvm.compiler.graph.spi.CanonicalizerTool tool;
    descriptor: Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private java.util.Deque<org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest> pendingTests;
    descriptor: Ljava/util/Deque;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Deque<Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$PendingTest;>;

  public void <init>(org.graalvm.compiler.nodes.StructuredGraph, java.util.function.Function<org.graalvm.compiler.nodes.cfg.Block, java.lang.Iterable<? extends org.graalvm.compiler.graph.Node>>, java.util.function.Function<org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.phases.tiers.PhaseContext);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/util/function/Function;Ljava/util/function/Function;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // java.util.function.Function blockToNodes
        start local 3 // java.util.function.Function nodeToBlock
        start local 4 // org.graalvm.compiler.phases.tiers.PhaseContext context
         0: .line 153
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 155
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeMap:()Lorg/graalvm/compiler/graph/NodeMap;
            putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.map:Lorg/graalvm/compiler/graph/NodeMap;
         2: .line 156
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.loopExits:Ljava/util/Deque;
         3: .line 157
            aload 0 /* this */
            aload 2 /* blockToNodes */
            putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.blockToNodes:Ljava/util/function/Function;
         4: .line 158
            aload 0 /* this */
            aload 3 /* nodeToBlock */
            putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.nodeToBlock:Ljava/util/function/Function;
         5: .line 159
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.pendingTests:Ljava/util/Deque;
         6: .line 160
            aload 0 /* this */
            aload 4 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 4 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 4 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
            iconst_0
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
            aload 4 /* context */
            invokevirtual org.graalvm.compiler.phases.tiers.PhaseContext.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.getDefaultSimplifier:(Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;ZLjdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/spi/LoweringProvider;)Lorg/graalvm/compiler/graph/spi/SimplifierTool;
            putfield org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance.tool:Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
         7: .line 161
            return
        end local 4 // org.graalvm.compiler.phases.tiers.PhaseContext context
        end local 3 // java.util.function.Function nodeToBlock
        end local 2 // java.util.function.Function blockToNodes
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
            0    8     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    8     2  blockToNodes  Ljava/util/function/Function<Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;>;
            0    8     3   nodeToBlock  Ljava/util/function/Function<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0    8     4       context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/util/function/Function<Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;>;Ljava/util/function/Function<Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
    MethodParameters:
              Name  Flags
      graph         
      blockToNodes  
      nodeToBlock   
      context       

  public void processBlock(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block startBlock
         0: .line 164
            new org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame
            dup
            aload 0 /* this */
            aload 1 /* startBlock */
            aconst_null
            invokespecial org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame.<init>:(Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance$InstanceFrame;)V
            invokestatic org.graalvm.compiler.phases.common.LoweringPhase.processBlock:(Lorg/graalvm/compiler/phases/common/LoweringPhase$Frame;)V
         1: .line 165
            return
        end local 1 // org.graalvm.compiler.nodes.cfg.Block startBlock
        end local 0 // org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/phases/common/DominatorConditionalEliminationPhase$Instance;
            0    2     1  startBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
            Name  Flags
      startBlock  
}
SourceFile: "DominatorConditionalEliminationPhase.java"
NestHost: org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
InnerClasses:
  protected final Info = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Info of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
  public Instance = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
  public InstanceFrame = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance$InstanceFrame of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$Instance
  protected PendingTest = org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase$PendingTest of org.graalvm.compiler.phases.common.DominatorConditionalEliminationPhase
  public abstract Frame = org.graalvm.compiler.phases.common.LoweringPhase$Frame of org.graalvm.compiler.phases.common.LoweringPhase