public final class org.graalvm.compiler.nodes.cfg.ControlFlowGraph implements org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph<org.graalvm.compiler.nodes.cfg.Block>
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.nodes.cfg.ControlFlowGraph
  super_class: java.lang.Object
{
  public static final double MIN_PROBABILITY;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3.0549363634996047E-151

  public static final double MAX_PROBABILITY;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3.273390607896142E150

  public final org.graalvm.compiler.nodes.StructuredGraph graph;
    descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  private org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block> nodeToBlock;
    descriptor: Lorg/graalvm/compiler/graph/NodeMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;

  private org.graalvm.compiler.nodes.cfg.Block[] reversePostOrder;
    descriptor: [Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>> loops;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;>;

  private int maxDominatorDepth;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 54
            ldc Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
         3: .line 63
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.graalvm.compiler.nodes.cfg.ControlFlowGraph compute(org.graalvm.compiler.nodes.StructuredGraph, boolean, boolean, boolean, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;ZZZZ)Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 1 // boolean connectBlocks
        start local 2 // boolean computeLoops
        start local 3 // boolean computeDominators
        start local 4 // boolean computePostdominators
         0: .line 79
            new org.graalvm.compiler.nodes.cfg.ControlFlowGraph
            dup
            aload 0 /* graph */
            invokespecial org.graalvm.compiler.nodes.cfg.ControlFlowGraph.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            astore 5 /* cfg */
        start local 5 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
         1: .line 80
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.identifyBlocks:()V
         2: .line 81
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeProbabilities:()V
         3: .line 83
            iload 2 /* computeLoops */
            ifeq 5
         4: .line 84
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeLoopInformation:()V
         5: .line 86
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack:
            iload 3 /* computeDominators */
            ifeq 7
         6: .line 87
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeDominators:()V
         7: .line 89
      StackMap locals:
      StackMap stack:
            iload 4 /* computePostdominators */
            ifeq 9
         8: .line 90
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computePostdominators:()V
         9: .line 94
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 11
            iload 1 /* connectBlocks */
            ifne 10
            iload 2 /* computeLoops */
            ifne 10
            iload 3 /* computeDominators */
            ifne 10
            iload 4 /* computePostdominators */
            ifeq 11
      StackMap locals:
      StackMap stack:
        10: aload 5 /* cfg */
            invokestatic org.graalvm.compiler.core.common.cfg.CFGVerifier.verify:(Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 95
      StackMap locals:
      StackMap stack:
            aload 5 /* cfg */
            areturn
        end local 5 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 4 // boolean computePostdominators
        end local 3 // boolean computeDominators
        end local 2 // boolean computeLoops
        end local 1 // boolean connectBlocks
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   12     0                  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   12     1          connectBlocks  Z
            0   12     2           computeLoops  Z
            0   12     3      computeDominators  Z
            0   12     4  computePostdominators  Z
            1   12     5                    cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
    MethodParameters:
                       Name  Flags
      graph                  
      connectBlocks          
      computeLoops           
      computeDominators      
      computePostdominators  

  public java.lang.String dominatorTreeString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 99
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.dominatorTreeString:(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/String;
            areturn
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;

  private static java.lang.String dominatorTreeString(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.Block b
         0: .line 103
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 104
            aload 1 /* sb */
            aload 0 /* b */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         2: .line 105
            aload 1 /* sb */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 106
            aload 0 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstDominated:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 2 /* firstDominated */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block firstDominated
         4: .line 107
            goto 9
         5: .line 108
      StackMap locals: java.lang.StringBuilder org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 2 /* firstDominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            aload 2 /* firstDominated */
            if_acmpne 7
         6: .line 109
            aload 1 /* sb */
            ldc "!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 2 /* firstDominated */
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.dominatorTreeString:(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 112
            aload 2 /* firstDominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 2 /* firstDominated */
         9: .line 107
      StackMap locals:
      StackMap stack:
            aload 2 /* firstDominated */
            ifnonnull 5
        10: .line 114
            aload 1 /* sb */
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 115
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // org.graalvm.compiler.nodes.cfg.Block firstDominated
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.graalvm.compiler.nodes.cfg.Block b
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0               b  Lorg/graalvm/compiler/nodes/cfg/Block;
            1   12     1              sb  Ljava/lang/StringBuilder;
            4   12     2  firstDominated  Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
      Name  Flags
      b     

  public <V> void visitDominatorTreeDefault(org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor<V>);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
        start local 1 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor visitor
         0: .line 121
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.maxDominatorDepth:I
            iconst_1
            iadd
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 2 /* stack */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block[] stack
         1: .line 122
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 3 /* current */
        start local 3 // org.graalvm.compiler.nodes.cfg.Block current
         2: .line 123
            iconst_0
            istore 4 /* tos */
        start local 4 // int tos
         3: .line 124
            aconst_null
            astore 5 /* values */
        start local 5 // java.lang.Object[] values
         4: .line 125
            iconst_0
            istore 6 /* valuesTOS */
        start local 6 // int valuesTOS
         5: .line 127
            goto 38
         6: .line 128
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int java.lang.Object[] int
      StackMap stack:
            aload 2 /* stack */
            iload 4 /* tos */
            aaload
            astore 7 /* state */
        start local 7 // org.graalvm.compiler.nodes.cfg.Block state
         7: .line 129
            aload 7 /* state */
            ifnull 8
            aload 7 /* state */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            ifnull 8
            aload 7 /* state */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            aload 7 /* state */
            if_acmpeq 32
         8: .line 130
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 7 /* state */
            ifnonnull 20
         9: .line 132
            aload 1 /* visitor */
            aload 3 /* current */
            invokeinterface org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor.enter:(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Object;
            astore 8 /* value */
        start local 8 // java.lang.Object value
        10: .line 133
            aload 8 /* value */
            ifnonnull 11
            aload 5 /* values */
            ifnull 14
        11: .line 134
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* values */
            ifnonnull 13
        12: .line 135
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.maxDominatorDepth:I
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 5 /* values */
        13: .line 137
      StackMap locals:
      StackMap stack:
            aload 5 /* values */
            iload 6 /* valuesTOS */
            iinc 6 /* valuesTOS */ 1
            aload 8 /* value */
            aastore
        14: .line 140
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstDominated:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.skipPostDom:(Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 9 /* dominated */
        start local 9 // org.graalvm.compiler.nodes.cfg.Block dominated
        15: .line 141
            aload 9 /* dominated */
            ifnull 26
        16: .line 143
            aload 2 /* stack */
            iload 4 /* tos */
            aload 9 /* dominated */
            aastore
        17: .line 144
            aload 9 /* dominated */
            astore 3 /* current */
        18: .line 145
            aload 2 /* stack */
            iinc 4 /* tos */ 1
            iload 4 /* tos */
            aconst_null
            aastore
        19: .line 146
            goto 38
        end local 9 // org.graalvm.compiler.nodes.cfg.Block dominated
        end local 8 // java.lang.Object value
        20: .line 149
      StackMap locals:
      StackMap stack:
            aload 7 /* state */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.skipPostDom:(Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 8 /* next */
        start local 8 // org.graalvm.compiler.nodes.cfg.Block next
        21: .line 150
            aload 8 /* next */
            ifnull 26
        22: .line 152
            aload 2 /* stack */
            iload 4 /* tos */
            aload 8 /* next */
            aastore
        23: .line 153
            aload 8 /* next */
            astore 3 /* current */
        24: .line 154
            aload 2 /* stack */
            iinc 4 /* tos */ 1
            iload 4 /* tos */
            aconst_null
            aastore
        25: .line 155
            goto 38
        end local 8 // org.graalvm.compiler.nodes.cfg.Block next
        26: .line 160
      StackMap locals:
      StackMap stack:
            aload 3 /* current */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 8 /* postDom */
        start local 8 // org.graalvm.compiler.nodes.cfg.Block postDom
        27: .line 161
            aload 8 /* postDom */
            ifnull 32
            aload 8 /* postDom */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 3 /* current */
            if_acmpne 32
        28: .line 163
            aload 2 /* stack */
            iload 4 /* tos */
            aload 8 /* postDom */
            aastore
        29: .line 164
            aload 8 /* postDom */
            astore 3 /* current */
        30: .line 165
            aload 2 /* stack */
            iinc 4 /* tos */ 1
            iload 4 /* tos */
            aconst_null
            aastore
        31: .line 166
            goto 38
        end local 8 // org.graalvm.compiler.nodes.cfg.Block postDom
        32: .line 171
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* value */
        start local 8 // java.lang.Object value
        33: .line 172
            aload 5 /* values */
            ifnull 35
            iload 6 /* valuesTOS */
            ifle 35
        34: .line 173
            aload 5 /* values */
            iinc 6 /* valuesTOS */ -1
            iload 6 /* valuesTOS */
            aaload
            astore 8 /* value */
        35: .line 175
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* visitor */
            aload 3 /* current */
            aload 8 /* value */
            invokeinterface org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor.exit:(Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Object;)V
        36: .line 176
            aload 3 /* current */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 3 /* current */
        37: .line 177
            iinc 4 /* tos */ -1
        end local 8 // java.lang.Object value
        end local 7 // org.graalvm.compiler.nodes.cfg.Block state
        38: .line 127
      StackMap locals:
      StackMap stack:
            iload 4 /* tos */
            ifge 6
        39: .line 179
            return
        end local 6 // int valuesTOS
        end local 5 // java.lang.Object[] values
        end local 4 // int tos
        end local 3 // org.graalvm.compiler.nodes.cfg.Block current
        end local 2 // org.graalvm.compiler.nodes.cfg.Block[] stack
        end local 1 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor visitor
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   40     0       this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            0   40     1    visitor  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor<TV;>;
            1   40     2      stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
            2   40     3    current  Lorg/graalvm/compiler/nodes/cfg/Block;
            3   40     4        tos  I
            4   40     5     values  [Ljava/lang/Object;
            5   40     6  valuesTOS  I
            7   38     7      state  Lorg/graalvm/compiler/nodes/cfg/Block;
           10   20     8      value  TV;
           15   20     9  dominated  Lorg/graalvm/compiler/nodes/cfg/Block;
           21   26     8       next  Lorg/graalvm/compiler/nodes/cfg/Block;
           27   32     8    postDom  Lorg/graalvm/compiler/nodes/cfg/Block;
           33   38     8      value  TV;
    Signature: <V:Ljava/lang/Object;>(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor<TV;>;)V
    MethodParameters:
         Name  Flags
      visitor  

  private static org.graalvm.compiler.nodes.cfg.Block skipPostDom(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.Block block
         0: .line 182
            aload 0 /* block */
            ifnull 2
            aload 0 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            aload 0 /* block */
            if_acmpne 2
         1: .line 184
            aload 0 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            areturn
         2: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* block */
            areturn
        end local 0 // org.graalvm.compiler.nodes.cfg.Block block
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  block  Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
       Name  Flags
      block  

  public static void addDeferredExit(org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit[], org.graalvm.compiler.nodes.cfg.Block);
    descriptor: ([Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$DeferredExit;Lorg/graalvm/compiler/nodes/cfg/Block;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit[] deferredExits
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
         0: .line 210
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 2 /* outermostExited */
        start local 2 // org.graalvm.compiler.core.common.cfg.Loop outermostExited
         1: .line 211
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 3 /* exitBlockLoop */
        start local 3 // org.graalvm.compiler.core.common.cfg.Loop exitBlockLoop
         2: .line 212
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 4
            aload 2 /* outermostExited */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 214
      StackMap locals: org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            aload 2 /* outermostExited */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 2 /* outermostExited */
         4: .line 213
      StackMap locals:
      StackMap stack:
            aload 2 /* outermostExited */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            ifnull 5
            aload 2 /* outermostExited */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 3 /* exitBlockLoop */
            if_acmpne 3
         5: .line 216
      StackMap locals:
      StackMap stack:
            aload 2 /* outermostExited */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getIndex:()I
            istore 4 /* loopIndex */
        start local 4 // int loopIndex
         6: .line 217
            aload 0 /* deferredExits */
            iload 4 /* loopIndex */
            new org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit
            dup
            aload 1 /* b */
            aload 0 /* deferredExits */
            iload 4 /* loopIndex */
            aaload
            invokespecial org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit.<init>:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$DeferredExit;)V
            aastore
         7: .line 218
            return
        end local 4 // int loopIndex
        end local 3 // org.graalvm.compiler.core.common.cfg.Loop exitBlockLoop
        end local 2 // org.graalvm.compiler.core.common.cfg.Loop outermostExited
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit[] deferredExits
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0    deferredExits  [Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$DeferredExit;
            0    8     1                b  Lorg/graalvm/compiler/nodes/cfg/Block;
            1    8     2  outermostExited  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            2    8     3    exitBlockLoop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            6    8     4        loopIndex  I
    MethodParameters:
               Name  Flags
      deferredExits  
      b              

  public <V> void visitDominatorTreeDeferLoopExits(org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor<V>);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=14, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
        start local 1 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor visitor
         0: .line 222
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
            arraylength
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 2 /* stack */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block[] stack
         1: .line 223
            iconst_0
            istore 3 /* tos */
        start local 3 // int tos
         2: .line 224
            new java.util.BitSet
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
            arraylength
            invokespecial java.util.BitSet.<init>:(I)V
            astore 4 /* visited */
        start local 4 // java.util.BitSet visited
         3: .line 225
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getLoops:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 5 /* loopCount */
        start local 5 // int loopCount
         4: .line 226
            iload 5 /* loopCount */
            anewarray org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit
            astore 6 /* deferredExits */
        start local 6 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit[] deferredExits
         5: .line 227
            aconst_null
            astore 7 /* values */
        start local 7 // java.lang.Object[] values
         6: .line 228
            iconst_0
            istore 8 /* valuesTOS */
        start local 8 // int valuesTOS
         7: .line 229
            aload 2 /* stack */
            iconst_0
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
            aastore
         8: .line 231
            goto 51
         9: .line 232
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor org.graalvm.compiler.nodes.cfg.Block[] int java.util.BitSet int org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit[] java.lang.Object[] int
      StackMap stack:
            aload 2 /* stack */
            iload 3 /* tos */
            aaload
            astore 9 /* cur */
        start local 9 // org.graalvm.compiler.nodes.cfg.Block cur
        10: .line 233
            aload 9 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            istore 10 /* curId */
        start local 10 // int curId
        11: .line 234
            aload 4 /* visited */
            iload 10 /* curId */
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 27
        12: .line 235
            aconst_null
            astore 11 /* value */
        start local 11 // java.lang.Object value
        13: .line 236
            aload 7 /* values */
            ifnull 15
            iload 8 /* valuesTOS */
            ifle 15
        14: .line 237
            aload 7 /* values */
            iinc 8 /* valuesTOS */ -1
            iload 8 /* valuesTOS */
            aaload
            astore 11 /* value */
        15: .line 239
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block int java.lang.Object
      StackMap stack:
            aload 1 /* visitor */
            aload 9 /* cur */
            aload 11 /* value */
            invokeinterface org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor.exit:(Lorg/graalvm/compiler/nodes/cfg/Block;Ljava/lang/Object;)V
        16: .line 240
            iinc 3 /* tos */ -1
        17: .line 241
            aload 9 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopHeader:()Z
            ifeq 51
        18: .line 242
            aload 9 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getIndex:()I
            istore 12 /* loopIndex */
        start local 12 // int loopIndex
        19: .line 243
            aload 6 /* deferredExits */
            iload 12 /* loopIndex */
            aaload
            astore 13 /* deferredExit */
        start local 13 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit deferredExit
        20: .line 244
            aload 13 /* deferredExit */
            ifnull 51
        21: .line 245
            goto 24
        22: .line 246
      StackMap locals: int org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit
      StackMap stack:
            aload 2 /* stack */
            iinc 3 /* tos */ 1
            iload 3 /* tos */
            aload 13 /* deferredExit */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit.block:Lorg/graalvm/compiler/nodes/cfg/Block;
            aastore
        23: .line 247
            aload 13 /* deferredExit */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit.next:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$DeferredExit;
            astore 13 /* deferredExit */
        24: .line 245
      StackMap locals:
      StackMap stack:
            aload 13 /* deferredExit */
            ifnonnull 22
        25: .line 249
            aload 6 /* deferredExits */
            iload 12 /* loopIndex */
            aconst_null
            aastore
        end local 13 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit deferredExit
        end local 12 // int loopIndex
        end local 11 // java.lang.Object value
        26: .line 252
            goto 51
        27: .line 253
      StackMap locals:
      StackMap stack:
            aload 4 /* visited */
            iload 10 /* curId */
            invokevirtual java.util.BitSet.set:(I)V
        28: .line 254
            aload 1 /* visitor */
            aload 9 /* cur */
            invokeinterface org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor.enter:(Lorg/graalvm/compiler/nodes/cfg/Block;)Ljava/lang/Object;
            astore 11 /* value */
        start local 11 // java.lang.Object value
        29: .line 255
            aload 11 /* value */
            ifnonnull 30
            aload 7 /* values */
            ifnull 33
        30: .line 256
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* values */
            ifnonnull 32
        31: .line 257
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.maxDominatorDepth:I
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 7 /* values */
        32: .line 259
      StackMap locals:
      StackMap stack:
            aload 7 /* values */
            iload 8 /* valuesTOS */
            iinc 8 /* valuesTOS */ 1
            aload 11 /* value */
            aastore
        33: .line 262
      StackMap locals:
      StackMap stack:
            aload 9 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 12 /* alwaysReached */
        start local 12 // org.graalvm.compiler.nodes.cfg.Block alwaysReached
        34: .line 263
            aload 12 /* alwaysReached */
            ifnull 42
        35: .line 264
            aload 12 /* alwaysReached */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 9 /* cur */
            if_acmpeq 38
        36: .line 265
            aconst_null
            astore 12 /* alwaysReached */
        37: .line 266
            goto 42
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
        38: aload 12 /* alwaysReached */
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.isDominatorTreeLoopExit:(Lorg/graalvm/compiler/nodes/cfg/Block;)Z
            ifeq 41
        39: .line 267
            aload 6 /* deferredExits */
            aload 12 /* alwaysReached */
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.addDeferredExit:([Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$DeferredExit;Lorg/graalvm/compiler/nodes/cfg/Block;)V
        40: .line 268
            goto 42
        41: .line 269
      StackMap locals:
      StackMap stack:
            aload 2 /* stack */
            iinc 3 /* tos */ 1
            iload 3 /* tos */
            aload 12 /* alwaysReached */
            aastore
        42: .line 273
      StackMap locals:
      StackMap stack:
            aload 9 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstDominated:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 13 /* b */
        start local 13 // org.graalvm.compiler.nodes.cfg.Block b
        43: .line 274
            goto 50
        44: .line 275
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 13 /* b */
            aload 12 /* alwaysReached */
            if_acmpeq 49
        45: .line 276
            aload 13 /* b */
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.isDominatorTreeLoopExit:(Lorg/graalvm/compiler/nodes/cfg/Block;)Z
            ifeq 48
        46: .line 277
            aload 6 /* deferredExits */
            aload 13 /* b */
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.addDeferredExit:([Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$DeferredExit;Lorg/graalvm/compiler/nodes/cfg/Block;)V
        47: .line 278
            goto 49
        48: .line 279
      StackMap locals:
      StackMap stack:
            aload 2 /* stack */
            iinc 3 /* tos */ 1
            iload 3 /* tos */
            aload 13 /* b */
            aastore
        49: .line 282
      StackMap locals:
      StackMap stack:
            aload 13 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 13 /* b */
        50: .line 274
      StackMap locals:
      StackMap stack:
            aload 13 /* b */
            ifnonnull 44
        end local 13 // org.graalvm.compiler.nodes.cfg.Block b
        end local 12 // org.graalvm.compiler.nodes.cfg.Block alwaysReached
        end local 11 // java.lang.Object value
        end local 10 // int curId
        end local 9 // org.graalvm.compiler.nodes.cfg.Block cur
        51: .line 231
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor org.graalvm.compiler.nodes.cfg.Block[] int java.util.BitSet int org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit[] java.lang.Object[] int
      StackMap stack:
            iload 3 /* tos */
            ifge 9
        52: .line 286
            return
        end local 8 // int valuesTOS
        end local 7 // java.lang.Object[] values
        end local 6 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit[] deferredExits
        end local 5 // int loopCount
        end local 4 // java.util.BitSet visited
        end local 3 // int tos
        end local 2 // org.graalvm.compiler.nodes.cfg.Block[] stack
        end local 1 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor visitor
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   53     0           this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            0   53     1        visitor  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor<TV;>;
            1   53     2          stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
            2   53     3            tos  I
            3   53     4        visited  Ljava/util/BitSet;
            4   53     5      loopCount  I
            5   53     6  deferredExits  [Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$DeferredExit;
            6   53     7         values  [Ljava/lang/Object;
            7   53     8      valuesTOS  I
           10   51     9            cur  Lorg/graalvm/compiler/nodes/cfg/Block;
           11   51    10          curId  I
           13   26    11          value  TV;
           19   26    12      loopIndex  I
           20   26    13   deferredExit  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$DeferredExit;
           29   51    11          value  TV;
           34   51    12  alwaysReached  Lorg/graalvm/compiler/nodes/cfg/Block;
           43   51    13              b  Lorg/graalvm/compiler/nodes/cfg/Block;
    Signature: <V:Ljava/lang/Object;>(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor<TV;>;)V
    MethodParameters:
         Name  Flags
      visitor  

  public <V> void visitDominatorTree(org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor<V>, );
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
        start local 1 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor visitor
        start local 2 // boolean deferLoopExits
         0: .line 289
            iload 2 /* deferLoopExits */
            ifeq 3
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getLoops:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifle 3
         1: .line 290
            aload 0 /* this */
            aload 1 /* visitor */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.visitDominatorTreeDeferLoopExits:(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor;)V
         2: .line 291
            goto 4
         3: .line 292
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* visitor */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.visitDominatorTreeDefault:(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor;)V
         4: .line 294
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean deferLoopExits
        end local 1 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor visitor
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            0    5     1         visitor  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor<TV;>;
            0    5     2  deferLoopExits  Z
    Signature: <V:Ljava/lang/Object;>(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor<TV;>;Z)V
    MethodParameters:
                Name  Flags
      visitor         
      deferLoopExits  

  public static boolean isDominatorTreeLoopExit(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.Block b
         0: .line 297
            aload 0 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 1 /* dominator */
        start local 1 // org.graalvm.compiler.nodes.cfg.Block dominator
         1: .line 298
            aload 1 /* dominator */
            ifnull 3
            aload 0 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* dominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            if_acmpeq 3
            aload 0 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopHeader:()Z
            ifeq 2
            aload 1 /* dominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
            aload 0 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
            if_icmplt 3
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
         2: iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.graalvm.compiler.nodes.cfg.Block dominator
        end local 0 // org.graalvm.compiler.nodes.cfg.Block b
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0          b  Lorg/graalvm/compiler/nodes/cfg/Block;
            1    4     1  dominator  Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
      Name  Flags
      b     

  private void <init>(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 301
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 302
            aload 0 /* this */
            aload 1 /* graph */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
         2: .line 303
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeMap:()Lorg/graalvm/compiler/graph/NodeMap;
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
         3: .line 304
            return
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            0    4     1  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
       Name  Flags
      graph  

  private void computeDominators();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 307
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            iconst_0
            aaload
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
            ifeq 1
            new java.lang.AssertionError
            dup
            ldc "start block has no predecessor and therefore no dominator"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 1 /* blocks */
        start local 1 // org.graalvm.compiler.nodes.cfg.Block[] blocks
         2: .line 309
            iconst_0
            istore 2 /* curMaxDominatorDepth */
        start local 2 // int curMaxDominatorDepth
         3: .line 310
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         4: goto 29
         5: .line 311
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block[] int int
      StackMap stack:
            aload 1 /* blocks */
            iload 3 /* i */
            aaload
            astore 4 /* block */
        start local 4 // org.graalvm.compiler.nodes.cfg.Block block
         6: .line 312
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 7
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
            ifgt 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 313
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aconst_null
            astore 5 /* dominator */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block dominator
         8: .line 314
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 15
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] int int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
         9: aload 9
            iload 7
            aaload
            astore 6 /* pred */
        start local 6 // org.graalvm.compiler.nodes.cfg.Block pred
        10: .line 315
            aload 6 /* pred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopEnd:()Z
            ifne 14
        11: .line 316
            aload 5 /* dominator */
            ifnonnull 12
            aload 6 /* pred */
            goto 13
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] int int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        12: aload 5 /* dominator */
            aload 6 /* pred */
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.commonDominatorRaw:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.cfg.Block
        13: astore 5 /* dominator */
        end local 6 // org.graalvm.compiler.nodes.cfg.Block pred
        14: .line 314
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] int int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        15: iload 7
            iload 8
            if_icmplt 9
        16: .line 321
            aload 4 /* block */
            aload 5 /* dominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominator:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        17: .line 325
            aload 5 /* dominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstDominated:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 6 /* currentDominated */
        start local 6 // org.graalvm.compiler.nodes.cfg.Block currentDominated
        18: .line 326
            aload 6 /* currentDominated */
            ifnull 25
            aload 6 /* currentDominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            if_icmpge 25
        19: .line 327
            goto 21
        20: .line 328
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] int int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 6 /* currentDominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 6 /* currentDominated */
        21: .line 327
      StackMap locals:
      StackMap stack:
            aload 6 /* currentDominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            ifnull 22
            aload 6 /* currentDominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            if_icmplt 20
        22: .line 330
      StackMap locals:
      StackMap stack:
            aload 4 /* block */
            aload 6 /* currentDominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominatedSibling:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        23: .line 331
            aload 6 /* currentDominated */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominatedSibling:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        24: .line 332
            goto 27
        25: .line 333
      StackMap locals:
      StackMap stack:
            aload 4 /* block */
            aload 5 /* dominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstDominated:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominatedSibling:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        26: .line 334
            aload 5 /* dominator */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setFirstDominated:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        27: .line 337
      StackMap locals:
      StackMap stack:
            iload 2 /* curMaxDominatorDepth */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorDepth:()I
            invokestatic java.lang.Math.max:(II)I
            istore 2 /* curMaxDominatorDepth */
        end local 6 // org.graalvm.compiler.nodes.cfg.Block currentDominated
        end local 5 // org.graalvm.compiler.nodes.cfg.Block dominator
        end local 4 // org.graalvm.compiler.nodes.cfg.Block block
        28: .line 310
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 3 /* i */
            aload 1 /* blocks */
            arraylength
            if_icmplt 5
        end local 3 // int i
        30: .line 339
            aload 0 /* this */
            iload 2 /* curMaxDominatorDepth */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.maxDominatorDepth:I
        31: .line 340
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            arraylength
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.calcDominatorRanges:(Lorg/graalvm/compiler/nodes/cfg/Block;I)V
        32: .line 341
            return
        end local 2 // int curMaxDominatorDepth
        end local 1 // org.graalvm.compiler.nodes.cfg.Block[] blocks
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   33     0                  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            2   33     1                blocks  [Lorg/graalvm/compiler/nodes/cfg/Block;
            3   33     2  curMaxDominatorDepth  I
            4   30     3                     i  I
            6   28     4                 block  Lorg/graalvm/compiler/nodes/cfg/Block;
            8   28     5             dominator  Lorg/graalvm/compiler/nodes/cfg/Block;
           10   14     6                  pred  Lorg/graalvm/compiler/nodes/cfg/Block;
           18   28     6      currentDominated  Lorg/graalvm/compiler/nodes/cfg/Block;

  private static void calcDominatorRanges(org.graalvm.compiler.nodes.cfg.Block, int);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.Block block
        start local 1 // int size
         0: .line 344
            iload 1 /* size */
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 2 /* stack */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block[] stack
         1: .line 345
            aload 2 /* stack */
            iconst_0
            aload 0 /* block */
            aastore
         2: .line 346
            iconst_0
            istore 3 /* tos */
        start local 3 // int tos
         3: .line 347
            iconst_0
            istore 4 /* myNumber */
        start local 4 // int myNumber
         4: .line 350
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block[] int int
      StackMap stack:
            aload 2 /* stack */
            iload 3 /* tos */
            aaload
            astore 5 /* cur */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block cur
         5: .line 351
            aload 5 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstDominated:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 6 /* dominated */
        start local 6 // org.graalvm.compiler.nodes.cfg.Block dominated
         6: .line 353
            aload 5 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorNumber:()I
            iconst_m1
            if_icmpne 17
         7: .line 354
            aload 5 /* cur */
            iload 4 /* myNumber */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominatorNumber:(I)V
         8: .line 355
            aload 6 /* dominated */
            ifnull 13
         9: .line 358
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 2 /* stack */
            iinc 3 /* tos */ 1
            iload 3 /* tos */
            aload 6 /* dominated */
            aastore
        10: .line 359
            aload 6 /* dominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 6 /* dominated */
        11: .line 360
            aload 6 /* dominated */
            ifnonnull 9
        12: .line 361
            goto 15
        13: .line 362
      StackMap locals:
      StackMap stack:
            aload 5 /* cur */
            iload 4 /* myNumber */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setMaxChildDomNumber:(I)V
        14: .line 363
            iinc 3 /* tos */ -1
        15: .line 365
      StackMap locals:
      StackMap stack:
            iinc 4 /* myNumber */ 1
        16: .line 366
            goto 19
        17: .line 367
      StackMap locals:
      StackMap stack:
            aload 5 /* cur */
            aload 6 /* dominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getMaxChildDominatorNumber:()I
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setMaxChildDomNumber:(I)V
        18: .line 368
            iinc 3 /* tos */ -1
        end local 6 // org.graalvm.compiler.nodes.cfg.Block dominated
        end local 5 // org.graalvm.compiler.nodes.cfg.Block cur
        19: .line 370
      StackMap locals:
      StackMap stack:
            iload 3 /* tos */
        20: .line 349
            ifge 4
        21: .line 371
            return
        end local 4 // int myNumber
        end local 3 // int tos
        end local 2 // org.graalvm.compiler.nodes.cfg.Block[] stack
        end local 1 // int size
        end local 0 // org.graalvm.compiler.nodes.cfg.Block block
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0      block  Lorg/graalvm/compiler/nodes/cfg/Block;
            0   22     1       size  I
            1   22     2      stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
            3   22     3        tos  I
            4   22     4   myNumber  I
            5   19     5        cur  Lorg/graalvm/compiler/nodes/cfg/Block;
            6   19     6  dominated  Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
       Name  Flags
      block  
      size   

  private static org.graalvm.compiler.nodes.cfg.Block commonDominatorRaw(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.Block a
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
         0: .line 374
            aload 0 /* a */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorDepth:()I
            istore 2 /* aDomDepth */
        start local 2 // int aDomDepth
         1: .line 375
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorDepth:()I
            istore 3 /* bDomDepth */
        start local 3 // int bDomDepth
         2: .line 376
            iload 2 /* aDomDepth */
            iload 3 /* bDomDepth */
            if_icmple 4
         3: .line 377
            aload 0 /* a */
            iload 2 /* aDomDepth */
            iload 3 /* bDomDepth */
            isub
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:(I)Lorg/graalvm/compiler/nodes/cfg/Block;
            aload 1 /* b */
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.commonDominatorRawSameDepth:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
            areturn
         4: .line 379
      StackMap locals: int int
      StackMap stack:
            aload 0 /* a */
            aload 1 /* b */
            iload 3 /* bDomDepth */
            iload 2 /* aDomDepth */
            isub
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:(I)Lorg/graalvm/compiler/nodes/cfg/Block;
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.commonDominatorRawSameDepth:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
            areturn
        end local 3 // int bDomDepth
        end local 2 // int aDomDepth
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
        end local 0 // org.graalvm.compiler.nodes.cfg.Block a
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0          a  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    5     1          b  Lorg/graalvm/compiler/nodes/cfg/Block;
            1    5     2  aDomDepth  I
            2    5     3  bDomDepth  I
    MethodParameters:
      Name  Flags
      a     
      b     

  private static org.graalvm.compiler.nodes.cfg.Block commonDominatorRawSameDepth(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.Block a
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
         0: .line 384
            aload 0 /* a */
            astore 2 /* iterA */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block iterA
         1: .line 385
            aload 1 /* b */
            astore 3 /* iterB */
        start local 3 // org.graalvm.compiler.nodes.cfg.Block iterB
         2: .line 386
            goto 5
         3: .line 387
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 2 /* iterA */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 2 /* iterA */
         4: .line 388
            aload 3 /* iterB */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 3 /* iterB */
         5: .line 386
      StackMap locals:
      StackMap stack:
            aload 2 /* iterA */
            aload 3 /* iterB */
            if_acmpne 3
         6: .line 390
            aload 2 /* iterA */
            areturn
        end local 3 // org.graalvm.compiler.nodes.cfg.Block iterB
        end local 2 // org.graalvm.compiler.nodes.cfg.Block iterA
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
        end local 0 // org.graalvm.compiler.nodes.cfg.Block a
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0      a  Lorg/graalvm/compiler/nodes/cfg/Block;
            0    7     1      b  Lorg/graalvm/compiler/nodes/cfg/Block;
            1    7     2  iterA  Lorg/graalvm/compiler/nodes/cfg/Block;
            2    7     3  iterB  Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
      Name  Flags
      a     
      b     

  public org.graalvm.compiler.nodes.cfg.Block[] getBlocks();
    descriptor: ()[Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 395
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            areturn
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;

  public org.graalvm.compiler.nodes.cfg.Block getStartBlock();
    descriptor: ()Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 400
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            iconst_0
            aaload
            areturn
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;

  public org.graalvm.compiler.nodes.cfg.Block[] reversePostOrder();
    descriptor: ()[Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 404
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            areturn
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;

  public org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block> getNodeToBlock();
    descriptor: ()Lorg/graalvm/compiler/graph/NodeMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 408
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            areturn
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
    Signature: ()Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;

  public org.graalvm.compiler.nodes.cfg.Block blockFor(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
        start local 1 // org.graalvm.compiler.graph.Node node
         0: .line 412
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            areturn
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            0    1     1  node  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  public java.util.List<org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>> getLoops();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 417
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.loops:Ljava/util/List;
            areturn
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
    Signature: ()Ljava/util/List<Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;>;

  public int getMaxDominatorDepth();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 421
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.maxDominatorDepth:I
            ireturn
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;

  private void identifyBlock(org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
         0: .line 425
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 2 /* cur */
        start local 2 // org.graalvm.compiler.nodes.FixedWithNextNode cur
         1: .line 427
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 2
            aload 2 /* cur */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.isDeleted:()Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 428
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            aload 2 /* cur */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            ifnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 429
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            aload 2 /* cur */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
         4: .line 430
            aload 2 /* cur */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 3 /* next */
        start local 3 // org.graalvm.compiler.nodes.FixedNode next
         5: .line 431
            aload 3 /* next */
            instanceof org.graalvm.compiler.nodes.AbstractBeginNode
            ifeq 8
         6: .line 432
            aload 1 /* block */
            aload 2 /* cur */
            putfield org.graalvm.compiler.nodes.cfg.Block.endNode:Lorg/graalvm/compiler/nodes/FixedNode;
         7: .line 433
            return
         8: .line 434
      StackMap locals: org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 3 /* next */
            instanceof org.graalvm.compiler.nodes.FixedWithNextNode
            ifeq 11
         9: .line 435
            aload 3 /* next */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            astore 2 /* cur */
        10: .line 436
            goto 1
        11: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            aload 3 /* next */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.graph.NodeMap.set:(Lorg/graalvm/compiler/graph/Node;Ljava/lang/Object;)V
        12: .line 438
            aload 1 /* block */
            aload 3 /* next */
            putfield org.graalvm.compiler.nodes.cfg.Block.endNode:Lorg/graalvm/compiler/nodes/FixedNode;
        13: .line 439
            return
        end local 3 // org.graalvm.compiler.nodes.FixedNode next
        end local 2 // org.graalvm.compiler.nodes.FixedWithNextNode cur
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            0   14     1  block  Lorg/graalvm/compiler/nodes/cfg/Block;
            1   14     2    cur  Lorg/graalvm/compiler/nodes/FixedWithNextNode;
            5   14     3   next  Lorg/graalvm/compiler/nodes/FixedNode;
    MethodParameters:
       Name  Flags
      block  

  private void identifyBlocks();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 450
            iconst_0
            istore 1 /* numBlocks */
        start local 1 // int numBlocks
         1: .line 451
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            getstatic org.graalvm.compiler.nodes.AbstractBeginNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:(Lorg/graalvm/compiler/graph/NodeClass;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph int top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.AbstractBeginNode
            astore 2 /* begin */
        start local 2 // org.graalvm.compiler.nodes.AbstractBeginNode begin
         3: .line 452
            new org.graalvm.compiler.nodes.cfg.Block
            dup
            aload 2 /* begin */
            invokespecial org.graalvm.compiler.nodes.cfg.Block.<init>:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
            astore 4 /* block */
        start local 4 // org.graalvm.compiler.nodes.cfg.Block block
         4: .line 453
            aload 0 /* this */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.identifyBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;)V
         5: .line 454
            iinc 1 /* numBlocks */ 1
        end local 4 // org.graalvm.compiler.nodes.cfg.Block block
        end local 2 // org.graalvm.compiler.nodes.AbstractBeginNode begin
         6: .line 451
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 458
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         8: .line 459
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            astore 3 /* nodeMap */
        start local 3 // org.graalvm.compiler.graph.NodeMap nodeMap
         9: .line 460
            iload 1 /* numBlocks */
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 4 /* stack */
        start local 4 // org.graalvm.compiler.nodes.cfg.Block[] stack
        10: .line 461
            iconst_0
            istore 5 /* tos */
        start local 5 // int tos
        11: .line 462
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.blockFor:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 6 /* startBlock */
        start local 6 // org.graalvm.compiler.nodes.cfg.Block startBlock
        12: .line 463
            aload 4 /* stack */
            iconst_0
            aload 6 /* startBlock */
            aastore
        13: .line 464
            aload 6 /* startBlock */
            getstatic org.graalvm.compiler.nodes.cfg.Block.EMPTY_ARRAY:[Lorg/graalvm/compiler/nodes/cfg/Block;
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        14: .line 466
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph int int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 4 /* stack */
            iload 5 /* tos */
            aaload
            astore 7 /* block */
        start local 7 // org.graalvm.compiler.nodes.cfg.Block block
        15: .line 467
            aload 7 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            istore 8 /* id */
        start local 8 // int id
        16: .line 468
            iload 8 /* id */
            iconst_m1
            if_icmpne 72
        17: .line 470
            aload 7 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            astore 9 /* last */
        start local 9 // org.graalvm.compiler.nodes.FixedNode last
        18: .line 471
            aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.EndNode
            ifeq 25
        19: .line 472
            aload 9 /* last */
            checkcast org.graalvm.compiler.nodes.EndNode
            astore 10 /* endNode */
        start local 10 // org.graalvm.compiler.nodes.EndNode endNode
        20: .line 473
            aload 3 /* nodeMap */
            aload 10 /* endNode */
            invokevirtual org.graalvm.compiler.nodes.EndNode.merge:()Lorg/graalvm/compiler/nodes/AbstractMergeNode;
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 11 /* suxBlock */
        start local 11 // org.graalvm.compiler.nodes.cfg.Block suxBlock
        21: .line 474
            aload 11 /* suxBlock */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            iconst_m1
            if_icmpne 23
        22: .line 475
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 11 /* suxBlock */
            aastore
        23: .line 477
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph int int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.EndNode org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 7 /* block */
            iconst_1
            anewarray org.graalvm.compiler.nodes.cfg.Block
            dup
            iconst_0
            aload 11 /* suxBlock */
            aastore
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setSuccessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 11 // org.graalvm.compiler.nodes.cfg.Block suxBlock
        end local 10 // org.graalvm.compiler.nodes.EndNode endNode
        24: .line 478
            goto 56
      StackMap locals:
      StackMap stack:
        25: aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.IfNode
            ifeq 36
        26: .line 479
            aload 9 /* last */
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 10 /* ifNode */
        start local 10 // org.graalvm.compiler.nodes.IfNode ifNode
        27: .line 480
            aload 3 /* nodeMap */
            aload 10 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 11 /* trueSucc */
        start local 11 // org.graalvm.compiler.nodes.cfg.Block trueSucc
        28: .line 481
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 11 /* trueSucc */
            aastore
        29: .line 482
            aload 3 /* nodeMap */
            aload 10 /* ifNode */
            invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 12 /* falseSucc */
        start local 12 // org.graalvm.compiler.nodes.cfg.Block falseSucc
        30: .line 483
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 12 /* falseSucc */
            aastore
        31: .line 484
            aload 7 /* block */
            iconst_2
            anewarray org.graalvm.compiler.nodes.cfg.Block
            dup
            iconst_0
            aload 11 /* trueSucc */
            aastore
            dup
            iconst_1
            aload 12 /* falseSucc */
            aastore
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setSuccessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        32: .line 485
            iconst_1
            anewarray org.graalvm.compiler.nodes.cfg.Block
            dup
            iconst_0
            aload 7 /* block */
            aastore
            astore 13 /* ifPred */
        start local 13 // org.graalvm.compiler.nodes.cfg.Block[] ifPred
        33: .line 486
            aload 11 /* trueSucc */
            aload 13 /* ifPred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        34: .line 487
            aload 12 /* falseSucc */
            aload 13 /* ifPred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 13 // org.graalvm.compiler.nodes.cfg.Block[] ifPred
        end local 12 // org.graalvm.compiler.nodes.cfg.Block falseSucc
        end local 11 // org.graalvm.compiler.nodes.cfg.Block trueSucc
        end local 10 // org.graalvm.compiler.nodes.IfNode ifNode
        35: .line 488
            goto 56
      StackMap locals:
      StackMap stack:
        36: aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.LoopEndNode
            ifeq 40
        37: .line 489
            aload 9 /* last */
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 10 /* loopEndNode */
        start local 10 // org.graalvm.compiler.nodes.LoopEndNode loopEndNode
        38: .line 490
            aload 7 /* block */
            iconst_1
            anewarray org.graalvm.compiler.nodes.cfg.Block
            dup
            iconst_0
            aload 3 /* nodeMap */
            aload 10 /* loopEndNode */
            invokevirtual org.graalvm.compiler.nodes.LoopEndNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            aastore
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setSuccessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 10 // org.graalvm.compiler.nodes.LoopEndNode loopEndNode
        39: .line 492
            goto 56
      StackMap locals:
      StackMap stack:
        40: aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.ControlSinkNode
            ifeq 43
        41: .line 493
            aload 7 /* block */
            getstatic org.graalvm.compiler.nodes.cfg.Block.EMPTY_ARRAY:[Lorg/graalvm/compiler/nodes/cfg/Block;
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setSuccessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        42: .line 494
            goto 56
        43: .line 495
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 44
            aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.AbstractEndNode
            ifeq 44
            new java.lang.AssertionError
            dup
            ldc "Algorithm only supports EndNode and LoopEndNode."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        44: .line 496
      StackMap locals:
      StackMap stack:
            iload 5 /* tos */
            istore 10 /* startTos */
        start local 10 // int startTos
        45: .line 497
            iconst_1
            anewarray org.graalvm.compiler.nodes.cfg.Block
            dup
            iconst_0
            aload 7 /* block */
            aastore
            astore 11 /* ifPred */
        start local 11 // org.graalvm.compiler.nodes.cfg.Block[] ifPred
        46: .line 498
            aload 9 /* last */
            invokevirtual org.graalvm.compiler.nodes.FixedNode.successors:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 13
            goto 51
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph int int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block int org.graalvm.compiler.nodes.FixedNode int org.graalvm.compiler.nodes.cfg.Block[] top java.util.Iterator
      StackMap stack:
        47: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 12 /* suxNode */
        start local 12 // org.graalvm.compiler.graph.Node suxNode
        48: .line 499
            aload 3 /* nodeMap */
            aload 12 /* suxNode */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 14 /* sux */
        start local 14 // org.graalvm.compiler.nodes.cfg.Block sux
        49: .line 500
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 14 /* sux */
            aastore
        50: .line 501
            aload 14 /* sux */
            aload 11 /* ifPred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 14 // org.graalvm.compiler.nodes.cfg.Block sux
        end local 12 // org.graalvm.compiler.graph.Node suxNode
        51: .line 498
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        52: .line 503
            iload 5 /* tos */
            iload 10 /* startTos */
            isub
            istore 12 /* suxCount */
        start local 12 // int suxCount
        53: .line 504
            iload 12 /* suxCount */
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 13 /* successors */
        start local 13 // org.graalvm.compiler.nodes.cfg.Block[] successors
        54: .line 505
            aload 4 /* stack */
            iload 10 /* startTos */
            iconst_1
            iadd
            aload 13 /* successors */
            iconst_0
            iload 12 /* suxCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        55: .line 506
            aload 7 /* block */
            aload 13 /* successors */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setSuccessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 13 // org.graalvm.compiler.nodes.cfg.Block[] successors
        end local 12 // int suxCount
        end local 11 // org.graalvm.compiler.nodes.cfg.Block[] ifPred
        end local 10 // int startTos
        56: .line 508
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph int int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block int org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 7 /* block */
            bipush -2
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setId:(I)V
        57: .line 509
            aload 7 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 10 /* beginNode */
        start local 10 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        58: .line 510
            aload 10 /* beginNode */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 61
        59: .line 511
            aload 3 /* nodeMap */
            aload 7 /* block */
            aload 10 /* beginNode */
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeLoopPredecessors:(Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
        60: .line 512
            goto 80
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
      StackMap stack:
        61: aload 10 /* beginNode */
            instanceof org.graalvm.compiler.nodes.MergeNode
            ifeq 80
        62: .line 513
            aload 10 /* beginNode */
            checkcast org.graalvm.compiler.nodes.MergeNode
            astore 11 /* mergeNode */
        start local 11 // org.graalvm.compiler.nodes.MergeNode mergeNode
        63: .line 514
            aload 11 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.forwardEndCount:()I
            istore 12 /* forwardEndCount */
        start local 12 // int forwardEndCount
        64: .line 515
            iload 12 /* forwardEndCount */
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 13 /* predecessors */
        start local 13 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
        65: .line 516
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        66: goto 69
        67: .line 517
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph int int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block int org.graalvm.compiler.nodes.FixedNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.MergeNode int org.graalvm.compiler.nodes.cfg.Block[] int
      StackMap stack:
            aload 13 /* predecessors */
            iload 14 /* i */
            aload 3 /* nodeMap */
            aload 11 /* mergeNode */
            iload 14 /* i */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            aastore
        68: .line 516
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 14 /* i */
            iload 12 /* forwardEndCount */
            if_icmplt 67
        end local 14 // int i
        70: .line 519
            aload 7 /* block */
            aload 13 /* predecessors */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 13 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
        end local 12 // int forwardEndCount
        end local 11 // org.graalvm.compiler.nodes.MergeNode mergeNode
        end local 10 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        end local 9 // org.graalvm.compiler.nodes.FixedNode last
        71: .line 522
            goto 80
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph int int org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block int
      StackMap stack:
        72: iload 8 /* id */
            bipush -2
            if_icmpne 79
        73: .line 525
            iinc 5 /* tos */ -1
        74: .line 526
            iinc 2 /* count */ 1
        75: .line 527
            iload 1 /* numBlocks */
            iload 2 /* count */
            isub
            istore 9 /* index */
        start local 9 // int index
        76: .line 528
            aload 4 /* stack */
            iload 9 /* index */
            aload 7 /* block */
            aastore
        77: .line 529
            aload 7 /* block */
            iload 9 /* index */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setId:(I)V
        end local 9 // int index
        78: .line 530
            goto 80
        79: .line 531
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
            athrow
        end local 8 // int id
        end local 7 // org.graalvm.compiler.nodes.cfg.Block block
        80: .line 533
      StackMap locals:
      StackMap stack:
            iload 5 /* tos */
        81: .line 465
            ifge 14
        82: .line 536
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 83
            iload 2 /* count */
            iload 1 /* numBlocks */
            if_icmpeq 83
            new java.lang.AssertionError
            dup
            ldc "all blocks must be reachable"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        83: .line 537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* stack */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
        84: .line 538
            return
        end local 6 // org.graalvm.compiler.nodes.cfg.Block startBlock
        end local 5 // int tos
        end local 4 // org.graalvm.compiler.nodes.cfg.Block[] stack
        end local 3 // org.graalvm.compiler.graph.NodeMap nodeMap
        end local 2 // int count
        end local 1 // int numBlocks
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   85     0             this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            1   85     1        numBlocks  I
            3    6     2            begin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            4    6     4            block  Lorg/graalvm/compiler/nodes/cfg/Block;
            8   85     2            count  I
            9   85     3          nodeMap  Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           10   85     4            stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
           11   85     5              tos  I
           12   85     6       startBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
           15   80     7            block  Lorg/graalvm/compiler/nodes/cfg/Block;
           16   80     8               id  I
           18   71     9             last  Lorg/graalvm/compiler/nodes/FixedNode;
           20   24    10          endNode  Lorg/graalvm/compiler/nodes/EndNode;
           21   24    11         suxBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
           27   35    10           ifNode  Lorg/graalvm/compiler/nodes/IfNode;
           28   35    11         trueSucc  Lorg/graalvm/compiler/nodes/cfg/Block;
           30   35    12        falseSucc  Lorg/graalvm/compiler/nodes/cfg/Block;
           33   35    13           ifPred  [Lorg/graalvm/compiler/nodes/cfg/Block;
           38   39    10      loopEndNode  Lorg/graalvm/compiler/nodes/LoopEndNode;
           45   56    10         startTos  I
           46   56    11           ifPred  [Lorg/graalvm/compiler/nodes/cfg/Block;
           48   51    12          suxNode  Lorg/graalvm/compiler/graph/Node;
           49   51    14              sux  Lorg/graalvm/compiler/nodes/cfg/Block;
           53   56    12         suxCount  I
           54   56    13       successors  [Lorg/graalvm/compiler/nodes/cfg/Block;
           58   71    10        beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           63   71    11        mergeNode  Lorg/graalvm/compiler/nodes/MergeNode;
           64   71    12  forwardEndCount  I
           65   71    13     predecessors  [Lorg/graalvm/compiler/nodes/cfg/Block;
           66   70    14                i  I
           76   78     9            index  I

  private static void computeLoopPredecessors(org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.nodes.LoopBeginNode);
    descriptor: (Lorg/graalvm/compiler/graph/NodeMap;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.graph.NodeMap nodeMap
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
        start local 2 // org.graalvm.compiler.nodes.LoopBeginNode loopBeginNode
         0: .line 541
            aload 2 /* loopBeginNode */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            istore 3 /* forwardEndCount */
        start local 3 // int forwardEndCount
         1: .line 542
            aload 2 /* loopBeginNode */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.orderedLoopEnds:()[Lorg/graalvm/compiler/nodes/LoopEndNode;
            astore 4 /* loopEnds */
        start local 4 // org.graalvm.compiler.nodes.LoopEndNode[] loopEnds
         2: .line 543
            iload 3 /* forwardEndCount */
            aload 4 /* loopEnds */
            arraylength
            iadd
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 5 /* predecessors */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
         3: .line 544
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 545
      StackMap locals: org.graalvm.compiler.graph.NodeMap org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.LoopBeginNode int org.graalvm.compiler.nodes.LoopEndNode[] org.graalvm.compiler.nodes.cfg.Block[] int
      StackMap stack:
            aload 5 /* predecessors */
            iload 6 /* i */
            aload 0 /* nodeMap */
            aload 2 /* loopBeginNode */
            iload 6 /* i */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndAt:(I)Lorg/graalvm/compiler/nodes/EndNode;
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            aastore
         6: .line 544
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            iload 3 /* forwardEndCount */
            if_icmplt 5
        end local 6 // int i
         8: .line 547
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 12
        10: .line 548
      StackMap locals:
      StackMap stack:
            aload 5 /* predecessors */
            iload 6 /* i */
            iload 3 /* forwardEndCount */
            iadd
            aload 0 /* nodeMap */
            aload 4 /* loopEnds */
            iload 6 /* i */
            aaload
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            aastore
        11: .line 547
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            aload 4 /* loopEnds */
            arraylength
            if_icmplt 10
        end local 6 // int i
        13: .line 550
            aload 1 /* block */
            aload 5 /* predecessors */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        14: .line 551
            return
        end local 5 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
        end local 4 // org.graalvm.compiler.nodes.LoopEndNode[] loopEnds
        end local 3 // int forwardEndCount
        end local 2 // org.graalvm.compiler.nodes.LoopBeginNode loopBeginNode
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.graph.NodeMap nodeMap
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0          nodeMap  Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   15     1            block  Lorg/graalvm/compiler/nodes/cfg/Block;
            0   15     2    loopBeginNode  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            1   15     3  forwardEndCount  I
            2   15     4         loopEnds  [Lorg/graalvm/compiler/nodes/LoopEndNode;
            3   15     5     predecessors  [Lorg/graalvm/compiler/nodes/cfg/Block;
            4    8     6                i  I
            9   13     6                i  I
    Signature: (Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
    MethodParameters:
               Name  Flags
      nodeMap        
      block          
      loopBeginNode  

  private void computeProbabilities();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 555
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 30
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* block */
        start local 1 // org.graalvm.compiler.nodes.cfg.Block block
         2: .line 556
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
            astore 5 /* predecessors */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
         3: .line 559
            aload 5 /* predecessors */
            arraylength
            ifne 6
         4: .line 560
            dconst_1
            dstore 6 /* probability */
        start local 6 // double probability
         5: .line 561
            goto 23
        end local 6 // double probability
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
         6: aload 5 /* predecessors */
            arraylength
            iconst_1
            if_icmpne 14
         7: .line 562
            aload 5 /* predecessors */
            iconst_0
            aaload
            astore 8 /* pred */
        start local 8 // org.graalvm.compiler.nodes.cfg.Block pred
         8: .line 563
            aload 8 /* pred */
            getfield org.graalvm.compiler.nodes.cfg.Block.probability:D
            dstore 6 /* probability */
        start local 6 // double probability
         9: .line 564
            aload 8 /* pred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
            iconst_1
            if_icmple 23
        10: .line 565
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 11
            aload 8 /* pred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            instanceof org.graalvm.compiler.nodes.ControlSplitNode
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 566
      StackMap locals: double org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 8 /* pred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getEndNode:()Lorg/graalvm/compiler/nodes/FixedNode;
            checkcast org.graalvm.compiler.nodes.ControlSplitNode
            astore 9 /* controlSplit */
        start local 9 // org.graalvm.compiler.nodes.ControlSplitNode controlSplit
        12: .line 567
            dload 6 /* probability */
            aload 9 /* controlSplit */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.nodes.ControlSplitNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.multiplyProbabilities:(DD)D
            dstore 6 /* probability */
        end local 9 // org.graalvm.compiler.nodes.ControlSplitNode controlSplit
        end local 8 // org.graalvm.compiler.nodes.cfg.Block pred
        13: .line 569
            goto 23
        end local 6 // double probability
        14: .line 570
      StackMap locals:
      StackMap stack:
            aload 5 /* predecessors */
            iconst_0
            aaload
            getfield org.graalvm.compiler.nodes.cfg.Block.probability:D
            dstore 6 /* probability */
        start local 6 // double probability
        15: .line 571
            iconst_1
            istore 8 /* i */
        start local 8 // int i
        16: goto 19
        17: .line 572
      StackMap locals: double int
      StackMap stack:
            dload 6 /* probability */
            aload 5 /* predecessors */
            iload 8 /* i */
            aaload
            getfield org.graalvm.compiler.nodes.cfg.Block.probability:D
            dadd
            dstore 6 /* probability */
        18: .line 571
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 8 /* i */
            aload 5 /* predecessors */
            arraylength
            if_icmplt 17
        end local 8 // int i
        20: .line 575
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 23
        21: .line 576
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            astore 8 /* loopBegin */
        start local 8 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        22: .line 577
            dload 6 /* probability */
            aload 8 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:()D
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.multiplyProbabilities:(DD)D
            dstore 6 /* probability */
        end local 8 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        23: .line 580
      StackMap locals:
      StackMap stack:
            dload 6 /* probability */
            ldc 3.0549363634996047E-151
            dcmpg
            ifge 26
        24: .line 581
            ldc 3.0549363634996047E-151
            dstore 6 /* probability */
        25: .line 582
            goto 28
      StackMap locals:
      StackMap stack:
        26: dload 6 /* probability */
            ldc 3.273390607896142E150
            dcmpl
            ifle 28
        27: .line 583
            ldc 3.273390607896142E150
            dstore 6 /* probability */
        28: .line 585
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            dload 6 /* probability */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setProbability:(D)V
        end local 6 // double probability
        end local 5 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        29: .line 555
            iinc 2 1
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        30: iload 2
            iload 3
            if_icmplt 1
        31: .line 588
            return
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   32     0          this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            2   29     1         block  Lorg/graalvm/compiler/nodes/cfg/Block;
            3   29     5  predecessors  [Lorg/graalvm/compiler/nodes/cfg/Block;
            5    6     6   probability  D
            9   14     6   probability  D
           15   29     6   probability  D
            8   13     8          pred  Lorg/graalvm/compiler/nodes/cfg/Block;
           12   13     9  controlSplit  Lorg/graalvm/compiler/nodes/ControlSplitNode;
           16   20     8             i  I
           22   23     8     loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  private void computeLoopInformation();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=18, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 591
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.loops:Ljava/util/List;
         1: .line 592
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasLoops:()Z
            ifeq 45
         2: .line 593
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            arraylength
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 1 /* stack */
        start local 1 // org.graalvm.compiler.nodes.cfg.Block[] stack
         3: .line 594
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 44
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
         4: aload 5
            iload 3
            aaload
            astore 2 /* block */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block block
         5: .line 595
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 6 /* beginNode */
        start local 6 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
         6: .line 596
            aload 6 /* beginNode */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 43
         7: .line 597
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 7 /* parent */
        start local 7 // org.graalvm.compiler.core.common.cfg.Loop parent
         8: .line 598
            new org.graalvm.compiler.nodes.cfg.HIRLoop
            dup
            aload 7 /* parent */
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.loops:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 2 /* block */
            invokespecial org.graalvm.compiler.nodes.cfg.HIRLoop.<init>:(Lorg/graalvm/compiler/core/common/cfg/Loop;ILorg/graalvm/compiler/nodes/cfg/Block;)V
            astore 8 /* loop */
        start local 8 // org.graalvm.compiler.core.common.cfg.Loop loop
         9: .line 599
            aload 7 /* parent */
            ifnull 11
        10: .line 600
            aload 7 /* parent */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getChildren:()Ljava/util/List;
            aload 8 /* loop */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 602
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.loops:Ljava/util/List;
            aload 8 /* loop */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        12: .line 603
            aload 2 /* block */
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)V
        13: .line 604
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            aload 2 /* block */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 606
            aload 6 /* beginNode */
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            astore 9 /* loopBegin */
        start local 9 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        15: .line 607
            aload 9 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopEnds:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 11
            goto 19
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
        16: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 10 /* end */
        start local 10 // org.graalvm.compiler.nodes.LoopEndNode end
        17: .line 608
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            aload 10 /* end */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 12 /* endBlock */
        start local 12 // org.graalvm.compiler.nodes.cfg.Block endBlock
        18: .line 609
            aload 12 /* endBlock */
            aload 8 /* loop */
            aload 1 /* stack */
            iconst_1
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeLoopBlocks:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/Loop;[Lorg/graalvm/compiler/nodes/cfg/Block;Z)V
        end local 12 // org.graalvm.compiler.nodes.cfg.Block endBlock
        end local 10 // org.graalvm.compiler.nodes.LoopEndNode end
        19: .line 607
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        20: .line 612
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            if_acmpeq 43
        21: .line 613
            aload 9 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopExits:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 11
            goto 27
      StackMap locals:
      StackMap stack:
        22: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            astore 10 /* exit */
        start local 10 // org.graalvm.compiler.nodes.LoopExitNode exit
        23: .line 614
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            aload 10 /* exit */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 12 /* exitBlock */
        start local 12 // org.graalvm.compiler.nodes.cfg.Block exitBlock
        24: .line 615
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 25
            aload 12 /* exitBlock */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
            iconst_1
            if_icmpeq 25
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        25: .line 616
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.LoopExitNode java.util.Iterator org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 12 /* exitBlock */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstPredecessor:()Lorg/graalvm/compiler/nodes/cfg/Block;
            aload 8 /* loop */
            aload 1 /* stack */
            iconst_1
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeLoopBlocks:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/Loop;[Lorg/graalvm/compiler/nodes/cfg/Block;Z)V
        26: .line 617
            aload 8 /* loop */
            aload 12 /* exitBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.addExit:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        end local 12 // org.graalvm.compiler.nodes.cfg.Block exitBlock
        end local 10 // org.graalvm.compiler.nodes.LoopExitNode exit
        27: .line 613
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        28: .line 622
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 10 /* size */
        start local 10 // int size
        29: .line 623
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        30: goto 42
        31: .line 624
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.LoopBeginNode int int
      StackMap stack:
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            iload 11 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 12 /* b */
        start local 12 // org.graalvm.compiler.nodes.cfg.Block b
        32: .line 625
            aload 12 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
            dup
            astore 16
            arraylength
            istore 15
            iconst_0
            istore 14
            goto 40
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.LoopBeginNode int int org.graalvm.compiler.nodes.cfg.Block top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        33: aload 16
            iload 14
            aaload
            astore 13 /* sux */
        start local 13 // org.graalvm.compiler.nodes.cfg.Block sux
        34: .line 626
            aload 13 /* sux */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 8 /* loop */
            if_acmpeq 39
        35: .line 627
            aload 13 /* sux */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 17 /* begin */
        start local 17 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        36: .line 628
            aload 17 /* begin */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 37
            aload 17 /* begin */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            aload 9 /* loopBegin */
            if_acmpeq 39
        37: .line 629
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.LoopBeginNode int int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            iconst_3
            ldc "Unexpected loop exit with %s, including whole branch in the loop"
            aload 13 /* sux */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(ILjava/lang/String;Ljava/lang/Object;)V
        38: .line 630
            aload 13 /* sux */
            aload 8 /* loop */
            aload 1 /* stack */
            iconst_0
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeLoopBlocks:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/Loop;[Lorg/graalvm/compiler/nodes/cfg/Block;Z)V
        end local 17 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        end local 13 // org.graalvm.compiler.nodes.cfg.Block sux
        39: .line 625
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.LoopBeginNode int int org.graalvm.compiler.nodes.cfg.Block top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 14 1
      StackMap locals:
      StackMap stack:
        40: iload 14
            iload 15
            if_icmplt 33
        end local 12 // org.graalvm.compiler.nodes.cfg.Block b
        41: .line 623
            iinc 11 /* i */ 1
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.LoopBeginNode int int
      StackMap stack:
        42: iload 11 /* i */
            iload 10 /* size */
            if_icmplt 31
        end local 11 // int i
        end local 10 // int size
        end local 9 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        end local 8 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 7 // org.graalvm.compiler.core.common.cfg.Loop parent
        end local 6 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        end local 2 // org.graalvm.compiler.nodes.cfg.Block block
        43: .line 594
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
        44: iload 3
            iload 4
            if_icmplt 4
        end local 1 // org.graalvm.compiler.nodes.cfg.Block[] stack
        45: .line 643
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            if_acmpne 71
        46: .line 644
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 70
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        47: aload 4
            iload 2
            aaload
            astore 1 /* b */
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
        48: .line 645
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            ifnull 69
        49: .line 646
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 68
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        50: aload 8
            iload 6
            aaload
            astore 5 /* succ */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block succ
        51: .line 648
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            if_acmpeq 67
        52: .line 650
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            ifnonnull 59
        53: .line 652
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 9 /* curr */
        start local 9 // org.graalvm.compiler.core.common.cfg.Loop curr
        54: .line 653
            goto 57
        55: .line 654
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            aload 9 /* curr */
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.addExit:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        56: .line 655
            aload 9 /* curr */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 9 /* curr */
        57: .line 653
      StackMap locals:
      StackMap stack:
            aload 9 /* curr */
            ifnonnull 55
        end local 9 // org.graalvm.compiler.core.common.cfg.Loop curr
        58: .line 657
            goto 67
        59: .line 670
      StackMap locals:
      StackMap stack:
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            if_acmpeq 67
        60: .line 671
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 61
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
            if_icmplt 61
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        61: .line 673
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 62
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokestatic org.graalvm.compiler.core.common.cfg.Loop.transitiveParentLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/core/common/cfg/Loop;)Z
            ifeq 62
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        62: .line 674
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 9 /* curr */
        start local 9 // org.graalvm.compiler.core.common.cfg.Loop curr
        63: .line 675
            goto 66
        64: .line 676
      StackMap locals: org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            aload 9 /* curr */
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.addExit:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        65: .line 677
            aload 9 /* curr */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 9 /* curr */
        66: .line 675
      StackMap locals:
      StackMap stack:
            aload 9 /* curr */
            ifnull 67
            aload 9 /* curr */
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            if_acmpne 64
        end local 9 // org.graalvm.compiler.core.common.cfg.Loop curr
        end local 5 // org.graalvm.compiler.nodes.cfg.Block succ
        67: .line 646
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        68: iload 6
            iload 7
            if_icmplt 50
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
        69: .line 644
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        70: iload 2
            iload 3
            if_icmplt 47
        71: .line 687
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack:
            return
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   72     0       this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            3   45     1      stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
            5   43     2      block  Lorg/graalvm/compiler/nodes/cfg/Block;
            6   43     6  beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            8   43     7     parent  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            9   43     8       loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           15   43     9  loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
           17   19    10        end  Lorg/graalvm/compiler/nodes/LoopEndNode;
           18   19    12   endBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
           23   27    10       exit  Lorg/graalvm/compiler/nodes/LoopExitNode;
           24   27    12  exitBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
           29   43    10       size  I
           30   43    11          i  I
           32   41    12          b  Lorg/graalvm/compiler/nodes/cfg/Block;
           34   39    13        sux  Lorg/graalvm/compiler/nodes/cfg/Block;
           36   39    17      begin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           48   69     1          b  Lorg/graalvm/compiler/nodes/cfg/Block;
           51   67     5       succ  Lorg/graalvm/compiler/nodes/cfg/Block;
           54   58     9       curr  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           63   67     9       curr  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;

  private static void computeLoopBlocks(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.nodes.cfg.Block[], );
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/Loop;[Lorg/graalvm/compiler/nodes/cfg/Block;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.nodes.cfg.Block start
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.nodes.cfg.Block[] stack
        start local 3 // boolean usePred
         0: .line 690
            aload 0 /* start */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* loop */
            if_acmpeq 18
         1: .line 691
            aload 0 /* start */
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)V
         2: .line 692
            aload 2 /* stack */
            iconst_0
            aload 0 /* start */
            aastore
         3: .line 693
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            aload 0 /* start */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 694
            iconst_0
            istore 4 /* tos */
        start local 4 // int tos
         5: .line 696
      StackMap locals: int
      StackMap stack:
            aload 2 /* stack */
            iload 4 /* tos */
            iinc 4 /* tos */ -1
            aaload
            astore 5 /* block */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block block
         6: .line 699
            iload 3 /* usePred */
            ifeq 7
            aload 5 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
            goto 8
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
         7: aload 5 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.cfg.Block[]
         8: dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 15
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.cfg.Block[] int int org.graalvm.compiler.nodes.cfg.Block top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
         9: aload 9
            iload 7
            aaload
            astore 6 /* b */
        start local 6 // org.graalvm.compiler.nodes.cfg.Block b
        10: .line 700
            aload 6 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* loop */
            if_acmpeq 14
        11: .line 701
            aload 2 /* stack */
            iinc 4 /* tos */ 1
            iload 4 /* tos */
            aload 6 /* b */
            aastore
        12: .line 702
            aload 6 /* b */
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)V
        13: .line 703
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            aload 6 /* b */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.graalvm.compiler.nodes.cfg.Block b
        14: .line 699
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        15: iload 7
            iload 8
            if_icmplt 9
        end local 5 // org.graalvm.compiler.nodes.cfg.Block block
        16: .line 706
            iload 4 /* tos */
        17: .line 695
            ifge 5
        end local 4 // int tos
        18: .line 708
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.cfg.Block[] int
      StackMap stack:
            return
        end local 3 // boolean usePred
        end local 2 // org.graalvm.compiler.nodes.cfg.Block[] stack
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 0 // org.graalvm.compiler.nodes.cfg.Block start
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0    start  Lorg/graalvm/compiler/nodes/cfg/Block;
            0   19     1     loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   19     2    stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
            0   19     3  usePred  Z
            5   18     4      tos  I
            6   16     5    block  Lorg/graalvm/compiler/nodes/cfg/Block;
           10   14     6        b  Lorg/graalvm/compiler/nodes/cfg/Block;
    Signature: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;[Lorg/graalvm/compiler/nodes/cfg/Block;Z)V
    MethodParameters:
         Name  Flags
      start    
      loop     
      stack    
      usePred  

  public void computePostdominators();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 712
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 1 /* reversePostOrderTmp */
        start local 1 // org.graalvm.compiler.nodes.cfg.Block[] reversePostOrderTmp
         1: .line 713
            aload 1 /* reversePostOrderTmp */
            arraylength
            iconst_1
            isub
            istore 2 /* j */
        start local 2 // int j
         2: goto 23
         3: .line 714
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block[] int
      StackMap stack:
            aload 1 /* reversePostOrderTmp */
            iload 2 /* j */
            aaload
            astore 3 /* block */
        start local 3 // org.graalvm.compiler.nodes.cfg.Block block
         4: .line 715
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopEnd:()Z
            ifeq 6
         5: .line 717
            goto 22
         6: .line 719
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
            ifne 8
         7: .line 721
            goto 22
         8: .line 723
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
            iconst_0
            aaload
            astore 4 /* firstSucc */
        start local 4 // org.graalvm.compiler.nodes.cfg.Block firstSucc
         9: .line 724
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
            iconst_1
            if_icmpne 12
        10: .line 725
            aload 3 /* block */
            aload 4 /* firstSucc */
            putfield org.graalvm.compiler.nodes.cfg.Block.postdominator:Lorg/graalvm/compiler/nodes/cfg/Block;
        11: .line 726
            goto 22
        12: .line 728
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 4 /* firstSucc */
            astore 5 /* postdominator */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block postdominator
        13: .line 729
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 19
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        14: aload 9
            iload 7
            aaload
            astore 6 /* sux */
        start local 6 // org.graalvm.compiler.nodes.cfg.Block sux
        15: .line 730
            aload 5 /* postdominator */
            aload 6 /* sux */
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.commonPostdominator:(Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 5 /* postdominator */
        16: .line 731
            aload 5 /* postdominator */
            ifnonnull 18
        17: .line 733
            goto 22
        end local 6 // org.graalvm.compiler.nodes.cfg.Block sux
        18: .line 729
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        19: iload 7
            iload 8
            if_icmplt 14
        20: .line 736
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 21
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 5 /* postdominator */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 21
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Block "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* block */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " has a wrong post dominator: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* postdominator */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        21: .line 737
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block[] int org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 3 /* block */
            aload 5 /* postdominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPostDominator:(Lorg/graalvm/compiler/nodes/cfg/Block;)V
        end local 5 // org.graalvm.compiler.nodes.cfg.Block postdominator
        end local 4 // org.graalvm.compiler.nodes.cfg.Block firstSucc
        end local 3 // org.graalvm.compiler.nodes.cfg.Block block
        22: .line 713
      StackMap locals:
      StackMap stack:
            iinc 2 /* j */ -1
      StackMap locals:
      StackMap stack:
        23: iload 2 /* j */
            ifge 3
        end local 2 // int j
        24: .line 739
            return
        end local 1 // org.graalvm.compiler.nodes.cfg.Block[] reversePostOrderTmp
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   25     0                 this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            1   25     1  reversePostOrderTmp  [Lorg/graalvm/compiler/nodes/cfg/Block;
            2   24     2                    j  I
            4   22     3                block  Lorg/graalvm/compiler/nodes/cfg/Block;
            9   22     4            firstSucc  Lorg/graalvm/compiler/nodes/cfg/Block;
           13   22     5        postdominator  Lorg/graalvm/compiler/nodes/cfg/Block;
           15   18     6                  sux  Lorg/graalvm/compiler/nodes/cfg/Block;

  private static org.graalvm.compiler.nodes.cfg.Block commonPostdominator(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.nodes.cfg.Block);
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/cfg/Block;)Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.Block a
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
         0: .line 742
            aload 0 /* a */
            astore 2 /* iterA */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block iterA
         1: .line 743
            aload 1 /* b */
            astore 3 /* iterB */
        start local 3 // org.graalvm.compiler.nodes.cfg.Block iterB
         2: .line 744
            goto 11
         3: .line 745
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 2 /* iterA */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            aload 3 /* iterB */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            if_icmpge 7
         4: .line 746
            aload 2 /* iterA */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 2 /* iterA */
         5: .line 747
            aload 2 /* iterA */
            ifnonnull 11
         6: .line 748
            aconst_null
            areturn
         7: .line 751
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 8
            aload 3 /* iterB */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            aload 2 /* iterA */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            if_icmplt 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 752
      StackMap locals:
      StackMap stack:
            aload 3 /* iterB */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 3 /* iterB */
         9: .line 753
            aload 3 /* iterB */
            ifnonnull 11
        10: .line 754
            aconst_null
            areturn
        11: .line 744
      StackMap locals:
      StackMap stack:
            aload 2 /* iterA */
            aload 3 /* iterB */
            if_acmpne 3
        12: .line 758
            aload 2 /* iterA */
            areturn
        end local 3 // org.graalvm.compiler.nodes.cfg.Block iterB
        end local 2 // org.graalvm.compiler.nodes.cfg.Block iterA
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
        end local 0 // org.graalvm.compiler.nodes.cfg.Block a
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0      a  Lorg/graalvm/compiler/nodes/cfg/Block;
            0   13     1      b  Lorg/graalvm/compiler/nodes/cfg/Block;
            1   13     2  iterA  Lorg/graalvm/compiler/nodes/cfg/Block;
            2   13     3  iterB  Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
      Name  Flags
      a     
      b     

  public void setNodeToBlock(org.graalvm.compiler.graph.NodeMap<org.graalvm.compiler.nodes.cfg.Block>);
    descriptor: (Lorg/graalvm/compiler/graph/NodeMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
        start local 1 // org.graalvm.compiler.graph.NodeMap nodeMap
         0: .line 762
            aload 0 /* this */
            aload 1 /* nodeMap */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
         1: .line 763
            return
        end local 1 // org.graalvm.compiler.graph.NodeMap nodeMap
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            0    2     1  nodeMap  Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
    Signature: (Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;)V
    MethodParameters:
         Name  Flags
      nodeMap  

  public static double multiplyProbabilities(double, double);
    descriptor: (DD)D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // double a
        start local 2 // double b
         0: .line 770
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 2
            dload 0 /* a */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 2 /* b */
            invokestatic java.lang.Double.isNaN:(D)Z
            ifne 1
            dload 0 /* a */
            invokestatic java.lang.Double.isFinite:(D)Z
            ifeq 1
            dload 2 /* b */
            invokestatic java.lang.Double.isFinite:(D)Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            dload 0 /* a */
            invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            dload 2 /* b */
            invokevirtual java.lang.StringBuilder.append:(D)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 771
      StackMap locals:
      StackMap stack:
            dload 0 /* a */
            dload 2 /* b */
            dmul
            dstore 4 /* r */
        start local 4 // double r
         3: .line 772
            dload 4 /* r */
            ldc 3.273390607896142E150
            dcmpl
            ifle 5
         4: .line 773
            ldc 3.273390607896142E150
            dreturn
         5: .line 775
      StackMap locals: double
      StackMap stack:
            dload 4 /* r */
            ldc 3.0549363634996047E-151
            dcmpg
            ifge 7
         6: .line 776
            ldc 3.0549363634996047E-151
            dreturn
         7: .line 778
      StackMap locals:
      StackMap stack:
            dload 4 /* r */
            dreturn
        end local 4 // double r
        end local 2 // double b
        end local 0 // double a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0     a  D
            0    8     2     b  D
            3    8     4     r  D
    MethodParameters:
      Name  Flags
      a     
      b     

  public java.util.Collection getLoops();
    descriptor: ()Ljava/util/Collection;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getLoops:()Ljava/util/List;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] getBlocks();
    descriptor: ()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/nodes/cfg/Block;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.graalvm.compiler.core.common.cfg.AbstractBlockBase getStartBlock();
    descriptor: ()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph<Lorg/graalvm/compiler/nodes/cfg/Block;>;
SourceFile: "ControlFlowGraph.java"
NestMembers:
  org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit  org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor
InnerClasses:
  public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
  public final DeferredExit = org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit of org.graalvm.compiler.nodes.cfg.ControlFlowGraph
  public abstract RecursiveVisitor = org.graalvm.compiler.nodes.cfg.ControlFlowGraph$RecursiveVisitor of org.graalvm.compiler.nodes.cfg.ControlFlowGraph