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_RELATIVE_FREQUENCY;
    descriptor: D
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3.0549363634996047E-151

  public static final double MAX_RELATIVE_FREQUENCY;
    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 56
            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 65
            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 81
            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 82
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.identifyBlocks:()V
         2: .line 83
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeFrequencies:()V
         3: .line 85
            iload 2 /* computeLoops */
            ifeq 5
         4: .line 86
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeLoopInformation:()V
         5: .line 88
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack:
            iload 3 /* computeDominators */
            ifeq 7
         6: .line 89
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeDominators:()V
         7: .line 91
      StackMap locals:
      StackMap stack:
            iload 4 /* computePostdominators */
            ifeq 9
         8: .line 92
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computePostdominators:()V
         9: .line 96
      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 97
      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 101
            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 105
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 106
            aload 1 /* sb */
            aload 0 /* b */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
         2: .line 107
            aload 1 /* sb */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 108
            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 109
            goto 9
         5: .line 110
      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 111
            aload 1 /* sb */
            ldc "!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 113
      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 114
            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 109
      StackMap locals:
      StackMap stack:
            aload 2 /* firstDominated */
            ifnonnull 5
        10: .line 116
            aload 1 /* sb */
            ldc ") "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 117
            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 123
            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 124
            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 125
            iconst_0
            istore 4 /* tos */
        start local 4 // int tos
         3: .line 126
            aconst_null
            astore 5 /* values */
        start local 5 // java.lang.Object[] values
         4: .line 127
            iconst_0
            istore 6 /* valuesTOS */
        start local 6 // int valuesTOS
         5: .line 129
            goto 38
         6: .line 130
      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 131
            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 132
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 7 /* state */
            ifnonnull 20
         9: .line 134
            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 135
            aload 8 /* value */
            ifnonnull 11
            aload 5 /* values */
            ifnull 14
        11: .line 136
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* values */
            ifnonnull 13
        12: .line 137
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.maxDominatorDepth:I
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 5 /* values */
        13: .line 139
      StackMap locals:
      StackMap stack:
            aload 5 /* values */
            iload 6 /* valuesTOS */
            iinc 6 /* valuesTOS */ 1
            aload 8 /* value */
            aastore
        14: .line 142
      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 143
            aload 9 /* dominated */
            ifnull 26
        16: .line 145
            aload 2 /* stack */
            iload 4 /* tos */
            aload 9 /* dominated */
            aastore
        17: .line 146
            aload 9 /* dominated */
            astore 3 /* current */
        18: .line 147
            aload 2 /* stack */
            iinc 4 /* tos */ 1
            iload 4 /* tos */
            aconst_null
            aastore
        19: .line 148
            goto 38
        end local 9 // org.graalvm.compiler.nodes.cfg.Block dominated
        end local 8 // java.lang.Object value
        20: .line 151
      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 152
            aload 8 /* next */
            ifnull 26
        22: .line 154
            aload 2 /* stack */
            iload 4 /* tos */
            aload 8 /* next */
            aastore
        23: .line 155
            aload 8 /* next */
            astore 3 /* current */
        24: .line 156
            aload 2 /* stack */
            iinc 4 /* tos */ 1
            iload 4 /* tos */
            aconst_null
            aastore
        25: .line 157
            goto 38
        end local 8 // org.graalvm.compiler.nodes.cfg.Block next
        26: .line 162
      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 163
            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 165
            aload 2 /* stack */
            iload 4 /* tos */
            aload 8 /* postDom */
            aastore
        29: .line 166
            aload 8 /* postDom */
            astore 3 /* current */
        30: .line 167
            aload 2 /* stack */
            iinc 4 /* tos */ 1
            iload 4 /* tos */
            aconst_null
            aastore
        31: .line 168
            goto 38
        end local 8 // org.graalvm.compiler.nodes.cfg.Block postDom
        32: .line 173
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* value */
        start local 8 // java.lang.Object value
        33: .line 174
            aload 5 /* values */
            ifnull 35
            iload 6 /* valuesTOS */
            ifle 35
        34: .line 175
            aload 5 /* values */
            iinc 6 /* valuesTOS */ -1
            iload 6 /* valuesTOS */
            aaload
            astore 8 /* value */
        35: .line 177
      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 178
            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 179
            iinc 4 /* tos */ -1
        end local 8 // java.lang.Object value
        end local 7 // org.graalvm.compiler.nodes.cfg.Block state
        38: .line 129
      StackMap locals:
      StackMap stack:
            iload 4 /* tos */
            ifge 6
        39: .line 181
            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 184
            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 186
            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 188
      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 212
            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 213
            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 214
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 4
            aload 2 /* outermostExited */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            ldc "Dominator must be in a loop. Possible cause is a missing loop exit node."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 216
      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 215
      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 218
      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 219
            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 220
            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 224
            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 225
            iconst_0
            istore 3 /* tos */
        start local 3 // int tos
         2: .line 226
            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 227
            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 228
            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 229
            aconst_null
            astore 7 /* values */
        start local 7 // java.lang.Object[] values
         6: .line 230
            iconst_0
            istore 8 /* valuesTOS */
        start local 8 // int valuesTOS
         7: .line 231
            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 233
            goto 51
         9: .line 234
      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 235
            aload 9 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            istore 10 /* curId */
        start local 10 // int curId
        11: .line 236
            aload 4 /* visited */
            iload 10 /* curId */
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 27
        12: .line 237
            aconst_null
            astore 11 /* value */
        start local 11 // java.lang.Object value
        13: .line 238
            aload 7 /* values */
            ifnull 15
            iload 8 /* valuesTOS */
            ifle 15
        14: .line 239
            aload 7 /* values */
            iinc 8 /* valuesTOS */ -1
            iload 8 /* valuesTOS */
            aaload
            astore 11 /* value */
        15: .line 241
      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 242
            iinc 3 /* tos */ -1
        17: .line 243
            aload 9 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopHeader:()Z
            ifeq 51
        18: .line 244
            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 245
            aload 6 /* deferredExits */
            iload 12 /* loopIndex */
            aaload
            astore 13 /* deferredExit */
        start local 13 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit deferredExit
        20: .line 246
            aload 13 /* deferredExit */
            ifnull 51
        21: .line 247
            goto 24
        22: .line 248
      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 249
            aload 13 /* deferredExit */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph$DeferredExit.next:Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$DeferredExit;
            astore 13 /* deferredExit */
        24: .line 247
      StackMap locals:
      StackMap stack:
            aload 13 /* deferredExit */
            ifnonnull 22
        25: .line 251
            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 254
            goto 51
        27: .line 255
      StackMap locals:
      StackMap stack:
            aload 4 /* visited */
            iload 10 /* curId */
            invokevirtual java.util.BitSet.set:(I)V
        28: .line 256
            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 257
            aload 11 /* value */
            ifnonnull 30
            aload 7 /* values */
            ifnull 33
        30: .line 258
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 7 /* values */
            ifnonnull 32
        31: .line 259
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.maxDominatorDepth:I
            iconst_1
            iadd
            anewarray java.lang.Object
            astore 7 /* values */
        32: .line 261
      StackMap locals:
      StackMap stack:
            aload 7 /* values */
            iload 8 /* valuesTOS */
            iinc 8 /* valuesTOS */ 1
            aload 11 /* value */
            aastore
        33: .line 264
      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 265
            aload 12 /* alwaysReached */
            ifnull 42
        35: .line 266
            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 267
            aconst_null
            astore 12 /* alwaysReached */
        37: .line 268
            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 269
            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 270
            goto 42
        41: .line 271
      StackMap locals:
      StackMap stack:
            aload 2 /* stack */
            iinc 3 /* tos */ 1
            iload 3 /* tos */
            aload 12 /* alwaysReached */
            aastore
        42: .line 275
      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 276
            goto 50
        44: .line 277
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 13 /* b */
            aload 12 /* alwaysReached */
            if_acmpeq 49
        45: .line 278
            aload 13 /* b */
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.isDominatorTreeLoopExit:(Lorg/graalvm/compiler/nodes/cfg/Block;)Z
            ifeq 48
        46: .line 279
            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 280
            goto 49
        48: .line 281
      StackMap locals:
      StackMap stack:
            aload 2 /* stack */
            iinc 3 /* tos */ 1
            iload 3 /* tos */
            aload 13 /* b */
            aastore
        49: .line 284
      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 276
      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 233
      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 288
            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 291
            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 292
            aload 0 /* this */
            aload 1 /* visitor */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.visitDominatorTreeDeferLoopExits:(Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph$RecursiveVisitor;)V
         2: .line 293
            goto 4
         3: .line 294
      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 296
      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 299
            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 300
            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 303
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 304
            aload 0 /* this */
            aload 1 /* graph */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
         2: .line 305
            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 306
            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 309
            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 310
      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 311
            iconst_0
            istore 2 /* curMaxDominatorDepth */
        start local 2 // int curMaxDominatorDepth
         3: .line 312
            iconst_1
            istore 3 /* i */
        start local 3 // int i
         4: goto 30
         5: .line 313
      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 314
            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 315
      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 316
            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 317
            aload 6 /* pred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopEnd:()Z
            ifne 14
        11: .line 318
            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 316
      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 323
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 17
            aload 5 /* dominator */
            ifnonnull 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 326
      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:
            aload 4 /* block */
            aload 5 /* dominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominator:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        18: .line 330
            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
        19: .line 331
            aload 6 /* currentDominated */
            ifnull 26
            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 26
        20: .line 332
            goto 22
        21: .line 333
      StackMap locals: 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 */
        22: .line 332
      StackMap locals:
      StackMap stack:
            aload 6 /* currentDominated */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            ifnull 23
            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 21
        23: .line 335
      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
        24: .line 336
            aload 6 /* currentDominated */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominatedSibling:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        25: .line 337
            goto 28
        26: .line 338
      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
        27: .line 339
            aload 5 /* dominator */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setFirstDominated:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        28: .line 342
      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
        29: .line 312
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 3 /* i */
            aload 1 /* blocks */
            arraylength
            if_icmplt 5
        end local 3 // int i
        31: .line 344
            aload 0 /* this */
            iload 2 /* curMaxDominatorDepth */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.maxDominatorDepth:I
        32: .line 345
            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
        33: .line 346
            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   34     0                  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            2   34     1                blocks  [Lorg/graalvm/compiler/nodes/cfg/Block;
            3   34     2  curMaxDominatorDepth  I
            4   31     3                     i  I
            6   29     4                 block  Lorg/graalvm/compiler/nodes/cfg/Block;
            8   29     5             dominator  Lorg/graalvm/compiler/nodes/cfg/Block;
           10   14     6                  pred  Lorg/graalvm/compiler/nodes/cfg/Block;
           19   29     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 349
            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 350
            aload 2 /* stack */
            iconst_0
            aload 0 /* block */
            aastore
         2: .line 351
            iconst_0
            istore 3 /* tos */
        start local 3 // int tos
         3: .line 352
            iconst_0
            istore 4 /* myNumber */
        start local 4 // int myNumber
         4: .line 355
      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 356
            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 358
            aload 5 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorNumber:()I
            iconst_m1
            if_icmpne 17
         7: .line 359
            aload 5 /* cur */
            iload 4 /* myNumber */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominatorNumber:(I)V
         8: .line 360
            aload 6 /* dominated */
            ifnull 13
         9: .line 363
      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 364
            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 365
            aload 6 /* dominated */
            ifnonnull 9
        12: .line 366
            goto 15
        13: .line 367
      StackMap locals:
      StackMap stack:
            aload 5 /* cur */
            iload 4 /* myNumber */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setMaxChildDomNumber:(I)V
        14: .line 368
            iinc 3 /* tos */ -1
        15: .line 370
      StackMap locals:
      StackMap stack:
            iinc 4 /* myNumber */ 1
        16: .line 371
            goto 19
        17: .line 372
      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 373
            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 375
      StackMap locals:
      StackMap stack:
            iload 3 /* tos */
        20: .line 354
            ifge 4
        21: .line 376
            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 379
            aload 0 /* a */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorDepth:()I
            istore 2 /* aDomDepth */
        start local 2 // int aDomDepth
         1: .line 380
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorDepth:()I
            istore 3 /* bDomDepth */
        start local 3 // int bDomDepth
         2: .line 381
            iload 2 /* aDomDepth */
            iload 3 /* bDomDepth */
            if_icmple 4
         3: .line 382
            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 384
      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 389
            aload 0 /* a */
            astore 2 /* iterA */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block iterA
         1: .line 390
            aload 1 /* b */
            astore 3 /* iterB */
        start local 3 // org.graalvm.compiler.nodes.cfg.Block iterB
         2: .line 391
            goto 5
         3: .line 392
      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 393
            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 391
      StackMap locals:
      StackMap stack:
            aload 2 /* iterA */
            aload 3 /* iterB */
            if_acmpne 3
         6: .line 395
            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 400
            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 405
            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 409
            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 413
            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 417
            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 org.graalvm.compiler.nodes.cfg.Block commonDominatorFor(org.graalvm.compiler.graph.iterators.NodeIterable<? extends org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/graph/iterators/NodeIterable;)Lorg/graalvm/compiler/nodes/cfg/Block;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
        start local 1 // org.graalvm.compiler.graph.iterators.NodeIterable nodes
         0: .line 421
            aconst_null
            astore 2 /* commonDom */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block commonDom
         1: .line 422
            aload 1 /* nodes */
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.graph.iterators.NodeIterable org.graalvm.compiler.nodes.cfg.Block top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 3 /* n */
        start local 3 // org.graalvm.compiler.graph.Node n
         3: .line 423
            aload 0 /* this */
            aload 3 /* n */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.blockFor:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 5 /* b */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block b
         4: .line 424
            aload 2 /* commonDom */
            aload 5 /* b */
            invokestatic org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.commonDominator:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 2 /* commonDom */
        end local 5 // org.graalvm.compiler.nodes.cfg.Block b
        end local 3 // org.graalvm.compiler.graph.Node n
         5: .line 422
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 426
            aload 2 /* commonDom */
            areturn
        end local 2 // org.graalvm.compiler.nodes.cfg.Block commonDom
        end local 1 // org.graalvm.compiler.graph.iterators.NodeIterable nodes
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            0    7     1      nodes  Lorg/graalvm/compiler/graph/iterators/NodeIterable<+Lorg/graalvm/compiler/graph/Node;>;
            1    7     2  commonDom  Lorg/graalvm/compiler/nodes/cfg/Block;
            3    5     3          n  Lorg/graalvm/compiler/graph/Node;
            4    5     5          b  Lorg/graalvm/compiler/nodes/cfg/Block;
    Signature: (Lorg/graalvm/compiler/graph/iterators/NodeIterable<+Lorg/graalvm/compiler/graph/Node;>;)Lorg/graalvm/compiler/nodes/cfg/Block;
    MethodParameters:
       Name  Flags
      nodes  

  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 431
            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 435
            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 439
            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 441
      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.isAlive:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            aload 2 /* cur */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 442
      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 443
      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 444
            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 445
            aload 3 /* next */
            instanceof org.graalvm.compiler.nodes.AbstractBeginNode
            ifeq 8
         6: .line 446
            aload 1 /* block */
            aload 2 /* cur */
            putfield org.graalvm.compiler.nodes.cfg.Block.endNode:Lorg/graalvm/compiler/nodes/FixedNode;
         7: .line 447
            return
         8: .line 448
      StackMap locals: org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 3 /* next */
            instanceof org.graalvm.compiler.nodes.FixedWithNextNode
            ifeq 11
         9: .line 449
            aload 3 /* next */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            astore 2 /* cur */
        10: .line 450
            goto 1
        11: .line 451
      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 452
            aload 1 /* block */
            aload 3 /* next */
            putfield org.graalvm.compiler.nodes.cfg.Block.endNode:Lorg/graalvm/compiler/nodes/FixedNode;
        13: .line 453
            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 464
            iconst_0
            istore 1 /* numBlocks */
        start local 1 // int numBlocks
         1: .line 465
            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 466
            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 467
            aload 0 /* this */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.identifyBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;)V
         5: .line 468
            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 465
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 472
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         8: .line 473
            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 474
            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 475
            iconst_0
            istore 5 /* tos */
        start local 5 // int tos
        11: .line 476
            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 477
            aload 4 /* stack */
            iconst_0
            aload 6 /* startBlock */
            aastore
        13: .line 478
            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 480
      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 481
            aload 7 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            istore 8 /* id */
        start local 8 // int id
        16: .line 482
            iload 8 /* id */
            iconst_m1
            if_icmpne 72
        17: .line 484
            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 485
            aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.EndNode
            ifeq 25
        19: .line 486
            aload 9 /* last */
            checkcast org.graalvm.compiler.nodes.EndNode
            astore 10 /* endNode */
        start local 10 // org.graalvm.compiler.nodes.EndNode endNode
        20: .line 487
            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 488
            aload 11 /* suxBlock */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            iconst_m1
            if_icmpne 23
        22: .line 489
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 11 /* suxBlock */
            aastore
        23: .line 491
      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 492
            goto 56
      StackMap locals:
      StackMap stack:
        25: aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.IfNode
            ifeq 36
        26: .line 493
            aload 9 /* last */
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 10 /* ifNode */
        start local 10 // org.graalvm.compiler.nodes.IfNode ifNode
        27: .line 494
            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 495
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 11 /* trueSucc */
            aastore
        29: .line 496
            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 497
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 12 /* falseSucc */
            aastore
        31: .line 498
            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 499
            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 500
            aload 11 /* trueSucc */
            aload 13 /* ifPred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        34: .line 501
            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 502
            goto 56
      StackMap locals:
      StackMap stack:
        36: aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.LoopEndNode
            ifeq 40
        37: .line 503
            aload 9 /* last */
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 10 /* loopEndNode */
        start local 10 // org.graalvm.compiler.nodes.LoopEndNode loopEndNode
        38: .line 504
            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 506
            goto 56
      StackMap locals:
      StackMap stack:
        40: aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.ControlSinkNode
            ifeq 43
        41: .line 507
            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 508
            goto 56
        43: .line 509
      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 510
      StackMap locals:
      StackMap stack:
            iload 5 /* tos */
            istore 10 /* startTos */
        start local 10 // int startTos
        45: .line 511
            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 512
            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 513
            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 514
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 14 /* sux */
            aastore
        50: .line 515
            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 512
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        52: .line 517
            iload 5 /* tos */
            iload 10 /* startTos */
            isub
            istore 12 /* suxCount */
        start local 12 // int suxCount
        53: .line 518
            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 519
            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 520
            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 522
      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 523
            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 524
            aload 10 /* beginNode */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 61
        59: .line 525
            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 526
            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 527
            aload 10 /* beginNode */
            checkcast org.graalvm.compiler.nodes.MergeNode
            astore 11 /* mergeNode */
        start local 11 // org.graalvm.compiler.nodes.MergeNode mergeNode
        63: .line 528
            aload 11 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.forwardEndCount:()I
            istore 12 /* forwardEndCount */
        start local 12 // int forwardEndCount
        64: .line 529
            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 530
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        66: goto 69
        67: .line 531
      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 530
            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 533
            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 536
            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 539
            iinc 5 /* tos */ -1
        74: .line 540
            iinc 2 /* count */ 1
        75: .line 541
            iload 1 /* numBlocks */
            iload 2 /* count */
            isub
            istore 9 /* index */
        start local 9 // int index
        76: .line 542
            aload 4 /* stack */
            iload 9 /* index */
            aload 7 /* block */
            aastore
        77: .line 543
            aload 7 /* block */
            iload 9 /* index */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setId:(I)V
        end local 9 // int index
        78: .line 544
            goto 80
        79: .line 545
      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 547
      StackMap locals:
      StackMap stack:
            iload 5 /* tos */
        81: .line 479
            ifge 14
        82: .line 550
            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 551
      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 552
            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 555
            aload 2 /* loopBeginNode */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            istore 3 /* forwardEndCount */
        start local 3 // int forwardEndCount
         1: .line 556
            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 557
            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 558
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 559
      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 558
            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 561
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 12
        10: .line 562
      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 561
            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 564
            aload 1 /* block */
            aload 5 /* predecessors */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        14: .line 565
            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 computeFrequencies();
    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 574
            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 575
            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 578
            aload 5 /* predecessors */
            arraylength
            ifne 6
         4: .line 579
            dconst_1
            dstore 6 /* relativeFrequency */
        start local 6 // double relativeFrequency
         5: .line 580
            goto 23
        end local 6 // double relativeFrequency
      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 581
            aload 5 /* predecessors */
            iconst_0
            aaload
            astore 8 /* pred */
        start local 8 // org.graalvm.compiler.nodes.cfg.Block pred
         8: .line 582
            aload 8 /* pred */
            getfield org.graalvm.compiler.nodes.cfg.Block.relativeFrequency:D
            dstore 6 /* relativeFrequency */
        start local 6 // double relativeFrequency
         9: .line 583
            aload 8 /* pred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
            iconst_1
            if_icmple 23
        10: .line 584
            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 585
      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 586
            dload 6 /* relativeFrequency */
            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.multiplyRelativeFrequencies:(DD)D
            dstore 6 /* relativeFrequency */
        end local 9 // org.graalvm.compiler.nodes.ControlSplitNode controlSplit
        end local 8 // org.graalvm.compiler.nodes.cfg.Block pred
        13: .line 588
            goto 23
        end local 6 // double relativeFrequency
        14: .line 589
      StackMap locals:
      StackMap stack:
            aload 5 /* predecessors */
            iconst_0
            aaload
            getfield org.graalvm.compiler.nodes.cfg.Block.relativeFrequency:D
            dstore 6 /* relativeFrequency */
        start local 6 // double relativeFrequency
        15: .line 590
            iconst_1
            istore 8 /* i */
        start local 8 // int i
        16: goto 19
        17: .line 591
      StackMap locals: double int
      StackMap stack:
            dload 6 /* relativeFrequency */
            aload 5 /* predecessors */
            iload 8 /* i */
            aaload
            getfield org.graalvm.compiler.nodes.cfg.Block.relativeFrequency:D
            dadd
            dstore 6 /* relativeFrequency */
        18: .line 590
            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 594
            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 595
            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 596
            dload 6 /* relativeFrequency */
            aload 8 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:()D
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.multiplyRelativeFrequencies:(DD)D
            dstore 6 /* relativeFrequency */
        end local 8 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        23: .line 599
      StackMap locals:
      StackMap stack:
            dload 6 /* relativeFrequency */
            ldc 3.0549363634996047E-151
            dcmpg
            ifge 26
        24: .line 600
            ldc 3.0549363634996047E-151
            dstore 6 /* relativeFrequency */
        25: .line 601
            goto 28
      StackMap locals:
      StackMap stack:
        26: dload 6 /* relativeFrequency */
            ldc 3.273390607896142E150
            dcmpl
            ifle 28
        27: .line 602
            ldc 3.273390607896142E150
            dstore 6 /* relativeFrequency */
        28: .line 604
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            dload 6 /* relativeFrequency */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setRelativeFrequency:(D)V
        end local 6 // double relativeFrequency
        end local 5 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        29: .line 574
            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 607
            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  relativeFrequency  D
            9   14     6  relativeFrequency  D
           15   29     6  relativeFrequency  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 610
            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 611
            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 61
         2: .line 612
            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 613
            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 60
      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 614
            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 615
            aload 6 /* beginNode */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 59
         7: .line 616
            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 617
            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 618
            aload 7 /* parent */
            ifnull 11
        10: .line 619
            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 621
      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 622
            aload 2 /* block */
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)V
        13: .line 623
            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 625
            aload 6 /* beginNode */
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            astore 9 /* loopBegin */
        start local 9 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        15: .line 626
            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 627
            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 628
            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 626
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        20: .line 633
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 29
      StackMap locals:
      StackMap stack:
        21: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 10 /* b */
        start local 10 // org.graalvm.compiler.nodes.cfg.Block b
        22: .line 634
            aload 10 /* 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 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 28
      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.cfg.Block java.util.Iterator top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        23: aload 15
            iload 13
            aaload
            astore 12 /* sux */
        start local 12 // org.graalvm.compiler.nodes.cfg.Block sux
        24: .line 635
            aload 12 /* sux */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 8 /* loop */
            if_acmpeq 27
        25: .line 636
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 26
            aload 12 /* sux */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
            if_icmplt 26
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        26: .line 637
      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.cfg.Block java.util.Iterator org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getNaturalExits:()Ljava/util/ArrayList;
            aload 12 /* sux */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.graalvm.compiler.nodes.cfg.Block sux
        27: .line 634
      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.cfg.Block java.util.Iterator top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        28: iload 13
            iload 14
            if_icmplt 23
        end local 10 // org.graalvm.compiler.nodes.cfg.Block b
        29: .line 633
      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 21
        30: .line 641
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getNaturalExits:()Ljava/util/ArrayList;
            getstatic org.graalvm.compiler.core.common.cfg.AbstractBlockBase.BLOCK_ID_COMPARATOR:Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase$BlockIdComparator;
            invokevirtual java.util.ArrayList.sort:(Ljava/util/Comparator;)V
        31: .line 643
            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;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.areFrameStatesAtDeopts:()Z
            ifne 58
        32: .line 644
            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 38
      StackMap locals:
      StackMap stack:
        33: 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
        34: .line 645
            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
        35: .line 646
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 36
            aload 12 /* exitBlock */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
            iconst_1
            if_icmpeq 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 647
      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
        37: .line 648
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getLoopExits:()Ljava/util/List;
            aload 12 /* exitBlock */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.graalvm.compiler.nodes.cfg.Block exitBlock
        end local 10 // org.graalvm.compiler.nodes.LoopExitNode exit
        38: .line 644
      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 33
        39: .line 650
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getLoopExits:()Ljava/util/List;
            getstatic org.graalvm.compiler.core.common.cfg.AbstractBlockBase.BLOCK_ID_COMPARATOR:Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase$BlockIdComparator;
            invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
        40: .line 654
            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
        41: .line 655
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        42: goto 56
        43: .line 656
      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
        44: .line 657
            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 54
      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:
        45: aload 16
            iload 14
            aaload
            astore 13 /* sux */
        start local 13 // org.graalvm.compiler.nodes.cfg.Block sux
        46: .line 658
            aload 13 /* sux */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 8 /* loop */
            if_acmpeq 53
        47: .line 659
            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
        48: .line 660
            aload 9 /* loopBegin */
            aload 17 /* begin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.isLoopExit:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)Z
            ifne 53
        49: .line 661
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 50
            aload 17 /* begin */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 50
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        50: .line 662
      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:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 51
            aload 13 /* sux */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoopDepth:()I
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
            if_icmplt 51
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        51: .line 663
      StackMap locals:
      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
        52: .line 664
            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
        53: .line 657
      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:
        54: iload 14
            iload 15
            if_icmplt 45
        end local 12 // org.graalvm.compiler.nodes.cfg.Block b
        55: .line 655
            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:
        56: iload 11 /* i */
            iload 10 /* size */
            if_icmplt 43
        end local 11 // int i
        end local 10 // int size
        57: .line 669
            goto 59
        58: .line 670
      StackMap locals:
      StackMap stack:
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getLoopExits:()Ljava/util/List;
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getNaturalExits:()Ljava/util/ArrayList;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        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
        59: .line 613
      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:
        60: iload 3
            iload 4
            if_icmplt 4
        end local 1 // org.graalvm.compiler.nodes.cfg.Block[] stack
        61: .line 675
      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   62     0       this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            3   61     1      stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
            5   59     2      block  Lorg/graalvm/compiler/nodes/cfg/Block;
            6   59     6  beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            8   59     7     parent  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            9   59     8       loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           15   59     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;
           22   29    10          b  Lorg/graalvm/compiler/nodes/cfg/Block;
           24   27    12        sux  Lorg/graalvm/compiler/nodes/cfg/Block;
           34   38    10       exit  Lorg/graalvm/compiler/nodes/LoopExitNode;
           35   38    12  exitBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
           41   57    10       size  I
           42   57    11          i  I
           44   55    12          b  Lorg/graalvm/compiler/nodes/cfg/Block;
           46   53    13        sux  Lorg/graalvm/compiler/nodes/cfg/Block;
           48   53    17      begin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;

  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 678
            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 679
            aload 0 /* start */
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)V
         2: .line 680
            aload 2 /* stack */
            iconst_0
            aload 0 /* start */
            aastore
         3: .line 681
            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 682
            iconst_0
            istore 4 /* tos */
        start local 4 // int tos
         5: .line 684
      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 687
            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 688
            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 689
            aload 2 /* stack */
            iinc 4 /* tos */ 1
            iload 4 /* tos */
            aload 6 /* b */
            aastore
        12: .line 690
            aload 6 /* b */
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;)V
        13: .line 691
            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 687
      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 694
            iload 4 /* tos */
        17: .line 683
            ifge 5
        end local 4 // int tos
        18: .line 696
      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 700
            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 701
            aload 1 /* reversePostOrderTmp */
            arraylength
            iconst_1
            isub
            istore 2 /* j */
        start local 2 // int j
         2: goto 23
         3: .line 702
      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 703
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopEnd:()Z
            ifeq 6
         5: .line 705
            goto 22
         6: .line 707
      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 709
            goto 22
         8: .line 711
      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 712
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
            iconst_1
            if_icmpne 12
        10: .line 713
            aload 3 /* block */
            aload 4 /* firstSucc */
            putfield org.graalvm.compiler.nodes.cfg.Block.postdominator:Lorg/graalvm/compiler/nodes/cfg/Block;
        11: .line 714
            goto 22
        12: .line 716
      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 717
            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 718
            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 719
            aload 5 /* postdominator */
            ifnonnull 18
        17: .line 721
            goto 22
        end local 6 // org.graalvm.compiler.nodes.cfg.Block sux
        18: .line 717
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        19: iload 7
            iload 8
            if_icmplt 14
        20: .line 724
            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 725
      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 701
      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 727
            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 730
            aload 0 /* a */
            astore 2 /* iterA */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block iterA
         1: .line 731
            aload 1 /* b */
            astore 3 /* iterB */
        start local 3 // org.graalvm.compiler.nodes.cfg.Block iterB
         2: .line 732
            goto 11
         3: .line 733
      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 734
            aload 2 /* iterA */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 2 /* iterA */
         5: .line 735
            aload 2 /* iterA */
            ifnonnull 11
         6: .line 736
            aconst_null
            areturn
         7: .line 739
      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 740
      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 741
            aload 3 /* iterB */
            ifnonnull 11
        10: .line 742
            aconst_null
            areturn
        11: .line 732
      StackMap locals:
      StackMap stack:
            aload 2 /* iterA */
            aload 3 /* iterB */
            if_acmpne 3
        12: .line 746
            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 750
            aload 0 /* this */
            aload 1 /* nodeMap */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
         1: .line 751
            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 multiplyRelativeFrequencies(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 758
            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 759
      StackMap locals:
      StackMap stack:
            dload 0 /* a */
            dload 2 /* b */
            dmul
            dstore 4 /* r */
        start local 4 // double r
         3: .line 760
            dload 4 /* r */
            ldc 3.273390607896142E150
            dcmpl
            ifle 5
         4: .line 761
            ldc 3.273390607896142E150
            dreturn
         5: .line 763
      StackMap locals: double
      StackMap stack:
            dload 4 /* r */
            ldc 3.0549363634996047E-151
            dcmpg
            ifge 7
         6: .line 764
            ldc 3.0549363634996047E-151
            dreturn
         7: .line 766
      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