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

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

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

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

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

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

  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 51
            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 60
            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 69
            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 70
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.identifyBlocks:()V
         2: .line 71
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeProbabilities:()V
         3: .line 73
            iload 2 /* computeLoops */
            ifeq 5
         4: .line 74
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeLoopInformation:()V
         5: .line 76
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack:
            iload 3 /* computeDominators */
            ifeq 7
         6: .line 77
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computeDominators:()V
         7: .line 79
      StackMap locals:
      StackMap stack:
            iload 4 /* computePostdominators */
            ifeq 9
         8: .line 80
            aload 5 /* cfg */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.computePostdominators:()V
         9: .line 83
      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 84
      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  

  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 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 88
            aload 0 /* this */
            aload 1 /* graph */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
         2: .line 89
            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 90
            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=9, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 93
            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 94
      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 95
            iconst_1
            istore 2 /* i */
        start local 2 // int i
         3: goto 20
         4: .line 96
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block[] int
      StackMap stack:
            aload 1 /* blocks */
            iload 2 /* i */
            aaload
            astore 3 /* block */
        start local 3 // org.graalvm.compiler.nodes.cfg.Block block
         5: .line 97
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 6
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
            ifgt 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 98
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aconst_null
            astore 4 /* dominator */
        start local 4 // org.graalvm.compiler.nodes.cfg.Block dominator
         7: .line 99
            aload 3 /* 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 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 14
      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 top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
         8: aload 8
            iload 6
            aaload
            astore 5 /* pred */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block pred
         9: .line 100
            aload 5 /* pred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopEnd:()Z
            ifne 13
        10: .line 101
            aload 4 /* dominator */
            ifnonnull 11
            aload 5 /* pred */
            goto 12
      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 int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        11: aload 4 /* dominator */
            aload 5 /* 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
        12: astore 4 /* dominator */
        end local 5 // org.graalvm.compiler.nodes.cfg.Block pred
        13: .line 99
      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 top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        14: iload 6
            iload 7
            if_icmplt 8
        15: .line 105
            aload 3 /* block */
            aload 4 /* dominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominator:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        16: .line 106
            aload 4 /* dominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominated:()Ljava/util/List;
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 107
            aload 4 /* dominator */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominated:(Ljava/util/List;)V
        18: .line 109
      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
      StackMap stack:
            aload 4 /* dominator */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominated:()Ljava/util/List;
            aload 3 /* block */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.graalvm.compiler.nodes.cfg.Block dominator
        end local 3 // org.graalvm.compiler.nodes.cfg.Block block
        19: .line 95
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 2 /* i */
            aload 1 /* blocks */
            arraylength
            if_icmplt 4
        end local 2 // int i
        21: .line 111
            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
        22: .line 112
            return
        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   23     0       this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            2   23     1     blocks  [Lorg/graalvm/compiler/nodes/cfg/Block;
            3   21     2          i  I
            5   19     3      block  Lorg/graalvm/compiler/nodes/cfg/Block;
            7   19     4  dominator  Lorg/graalvm/compiler/nodes/cfg/Block;
            9   13     5       pred  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=9, args_size=2
        start local 0 // org.graalvm.compiler.nodes.cfg.Block block
        start local 1 // int size
         0: .line 115
            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 116
            aload 2 /* stack */
            iconst_0
            aload 0 /* block */
            aastore
         2: .line 117
            iconst_0
            istore 3 /* tos */
        start local 3 // int tos
         3: .line 118
            iconst_0
            istore 4 /* myNumber */
        start local 4 // int myNumber
         4: .line 121
      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 122
            aload 5 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominated:()Ljava/util/List;
            astore 6 /* dominated */
        start local 6 // java.util.List dominated
         6: .line 124
            aload 5 /* cur */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorNumber:()I
            iconst_m1
            if_icmpne 18
         7: .line 125
            aload 5 /* cur */
            iload 4 /* myNumber */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setDominatorNumber:(I)V
         8: .line 126
            aload 6 /* dominated */
            invokeinterface java.util.List.size:()I
            ifle 14
         9: .line 128
            aload 6 /* dominated */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 12
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block int org.graalvm.compiler.nodes.cfg.Block[] int int org.graalvm.compiler.nodes.cfg.Block java.util.List top java.util.Iterator
      StackMap stack:
        10: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 7 /* b */
        start local 7 // org.graalvm.compiler.nodes.cfg.Block b
        11: .line 129
            aload 2 /* stack */
            iinc 3 /* tos */ 1
            iload 3 /* tos */
            aload 7 /* b */
            aastore
        end local 7 // org.graalvm.compiler.nodes.cfg.Block b
        12: .line 128
      StackMap locals:
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 131
            goto 16
        14: .line 132
      StackMap locals: org.graalvm.compiler.nodes.cfg.Block int org.graalvm.compiler.nodes.cfg.Block[] int int org.graalvm.compiler.nodes.cfg.Block java.util.List
      StackMap stack:
            aload 5 /* cur */
            iload 4 /* myNumber */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setMaxChildDomNumber:(I)V
        15: .line 133
            iinc 3 /* tos */ -1
        16: .line 135
      StackMap locals:
      StackMap stack:
            iinc 4 /* myNumber */ 1
        17: .line 136
            goto 20
        18: .line 137
      StackMap locals:
      StackMap stack:
            aload 5 /* cur */
            aload 6 /* dominated */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getMaxChildDominatorNumber:()I
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setMaxChildDomNumber:(I)V
        19: .line 138
            iinc 3 /* tos */ -1
        end local 6 // java.util.List dominated
        end local 5 // org.graalvm.compiler.nodes.cfg.Block cur
        20: .line 140
      StackMap locals:
      StackMap stack:
            iload 3 /* tos */
        21: .line 120
            ifge 4
        22: .line 141
            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   23     0      block  Lorg/graalvm/compiler/nodes/cfg/Block;
            0   23     1       size  I
            1   23     2      stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
            3   23     3        tos  I
            4   23     4   myNumber  I
            5   20     5        cur  Lorg/graalvm/compiler/nodes/cfg/Block;
            6   20     6  dominated  Ljava/util/List<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           11   12     7          b  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 144
            aload 0 /* a */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorDepth:()I
            istore 2 /* aDomDepth */
        start local 2 // int aDomDepth
         1: .line 145
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getDominatorDepth:()I
            istore 3 /* bDomDepth */
        start local 3 // int bDomDepth
         2: .line 146
            iload 2 /* aDomDepth */
            iload 3 /* bDomDepth */
            if_icmple 4
         3: .line 147
            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 149
      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 154
            aload 0 /* a */
            astore 2 /* iterA */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block iterA
         1: .line 155
            aload 1 /* b */
            astore 3 /* iterB */
        start local 3 // org.graalvm.compiler.nodes.cfg.Block iterB
         2: .line 156
            goto 5
         3: .line 157
      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 158
            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 156
      StackMap locals:
      StackMap stack:
            aload 2 /* iterA */
            aload 3 /* iterB */
            if_acmpne 3
         6: .line 160
            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 165
            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 170
            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 174
            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 178
            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 182
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            aload 1 /* node */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            areturn
        end local 1 // org.graalvm.compiler.graph.Node node
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            0    1     1  node  Lorg/graalvm/compiler/graph/Node;
    MethodParameters:
      Name  Flags
      node  

  public java.util.List<org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>> getLoops();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 187
            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;>;>;

  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 191
            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 193
      StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 2
            aload 2 /* cur */
            invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.isDeleted:()Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 194
      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 195
      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 196
            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 197
            aload 3 /* next */
            instanceof org.graalvm.compiler.nodes.AbstractBeginNode
            ifeq 8
         6: .line 198
            aload 1 /* block */
            aload 2 /* cur */
            putfield org.graalvm.compiler.nodes.cfg.Block.endNode:Lorg/graalvm/compiler/nodes/FixedNode;
         7: .line 199
            return
         8: .line 200
      StackMap locals: org.graalvm.compiler.nodes.FixedNode
      StackMap stack:
            aload 3 /* next */
            instanceof org.graalvm.compiler.nodes.FixedWithNextNode
            ifeq 11
         9: .line 201
            aload 3 /* next */
            checkcast org.graalvm.compiler.nodes.FixedWithNextNode
            astore 2 /* cur */
        10: .line 202
            goto 1
        11: .line 203
      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 204
            aload 1 /* block */
            aload 3 /* next */
            putfield org.graalvm.compiler.nodes.cfg.Block.endNode:Lorg/graalvm/compiler/nodes/FixedNode;
        13: .line 205
            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 216
            iconst_0
            istore 1 /* numBlocks */
        start local 1 // int numBlocks
         1: .line 217
            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 218
            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 219
            aload 0 /* this */
            aload 4 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.identifyBlock:(Lorg/graalvm/compiler/nodes/cfg/Block;)V
         5: .line 220
            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 217
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 224
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         8: .line 225
            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 226
            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 227
            iconst_0
            istore 5 /* tos */
        start local 5 // int tos
        11: .line 228
            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 229
            aload 4 /* stack */
            iconst_0
            aload 6 /* startBlock */
            aastore
        13: .line 230
            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 232
      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 233
            aload 7 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            istore 8 /* id */
        start local 8 // int id
        16: .line 234
            iload 8 /* id */
            iconst_m1
            if_icmpne 69
        17: .line 236
            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 237
            aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.EndNode
            ifeq 25
        19: .line 238
            aload 9 /* last */
            checkcast org.graalvm.compiler.nodes.EndNode
            astore 10 /* endNode */
        start local 10 // org.graalvm.compiler.nodes.EndNode endNode
        20: .line 239
            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 240
            aload 11 /* suxBlock */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getId:()I
            iconst_m1
            if_icmpne 23
        22: .line 241
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 11 /* suxBlock */
            aastore
        23: .line 243
      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 244
            goto 53
      StackMap locals:
      StackMap stack:
        25: aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.IfNode
            ifeq 36
        26: .line 245
            aload 9 /* last */
            checkcast org.graalvm.compiler.nodes.IfNode
            astore 10 /* ifNode */
        start local 10 // org.graalvm.compiler.nodes.IfNode ifNode
        27: .line 246
            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 247
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 11 /* trueSucc */
            aastore
        29: .line 248
            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 249
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 12 /* falseSucc */
            aastore
        31: .line 250
            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 251
            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 252
            aload 11 /* trueSucc */
            aload 13 /* ifPred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        34: .line 253
            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 254
            goto 53
      StackMap locals:
      StackMap stack:
        36: aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.LoopEndNode
            ifeq 40
        37: .line 255
            aload 9 /* last */
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 10 /* loopEndNode */
        start local 10 // org.graalvm.compiler.nodes.LoopEndNode loopEndNode
        38: .line 256
            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 258
            goto 53
        40: .line 259
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 41
            aload 9 /* last */
            instanceof org.graalvm.compiler.nodes.AbstractEndNode
            ifeq 41
            new java.lang.AssertionError
            dup
            ldc "Algorithm only supports EndNode and LoopEndNode."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        41: .line 260
      StackMap locals:
      StackMap stack:
            iload 5 /* tos */
            istore 10 /* startTos */
        start local 10 // int startTos
        42: .line 261
            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
        43: .line 262
            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 48
      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:
        44: 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
        45: .line 263
            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
        46: .line 264
            aload 4 /* stack */
            iinc 5 /* tos */ 1
            iload 5 /* tos */
            aload 14 /* sux */
            aastore
        47: .line 265
            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
        48: .line 262
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        49: .line 267
            iload 5 /* tos */
            iload 10 /* startTos */
            isub
            istore 12 /* suxCount */
        start local 12 // int suxCount
        50: .line 268
            iload 12 /* suxCount */
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 13 /* successors */
        start local 13 // org.graalvm.compiler.nodes.cfg.Block[] successors
        51: .line 269
            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
        52: .line 270
            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
        53: .line 272
      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
        54: .line 273
            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
        55: .line 274
            aload 10 /* beginNode */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 58
        56: .line 275
            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
        57: .line 276
            goto 77
      StackMap locals: org.graalvm.compiler.nodes.AbstractBeginNode
      StackMap stack:
        58: aload 10 /* beginNode */
            instanceof org.graalvm.compiler.nodes.MergeNode
            ifeq 77
        59: .line 277
            aload 10 /* beginNode */
            checkcast org.graalvm.compiler.nodes.MergeNode
            astore 11 /* mergeNode */
        start local 11 // org.graalvm.compiler.nodes.MergeNode mergeNode
        60: .line 278
            aload 11 /* mergeNode */
            invokevirtual org.graalvm.compiler.nodes.MergeNode.forwardEndCount:()I
            istore 12 /* forwardEndCount */
        start local 12 // int forwardEndCount
        61: .line 279
            iload 12 /* forwardEndCount */
            anewarray org.graalvm.compiler.nodes.cfg.Block
            astore 13 /* predecessors */
        start local 13 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
        62: .line 280
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        63: goto 66
        64: .line 281
      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
        65: .line 280
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        66: iload 14 /* i */
            iload 12 /* forwardEndCount */
            if_icmplt 64
        end local 14 // int i
        67: .line 283
            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
        68: .line 286
            goto 77
      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:
        69: iload 8 /* id */
            bipush -2
            if_icmpne 76
        70: .line 289
            iinc 5 /* tos */ -1
        71: .line 290
            iinc 2 /* count */ 1
        72: .line 291
            iload 1 /* numBlocks */
            iload 2 /* count */
            isub
            istore 9 /* index */
        start local 9 // int index
        73: .line 292
            aload 4 /* stack */
            iload 9 /* index */
            aload 7 /* block */
            aastore
        74: .line 293
            aload 7 /* block */
            iload 9 /* index */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setId:(I)V
        end local 9 // int index
        75: .line 294
            goto 77
        76: .line 295
      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
        77: .line 297
      StackMap locals:
      StackMap stack:
            iload 5 /* tos */
        78: .line 231
            ifge 14
        79: .line 300
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 80
            iload 2 /* count */
            iload 1 /* numBlocks */
            if_icmpeq 80
            new java.lang.AssertionError
            dup
            ldc "all blocks must be reachable"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        80: .line 301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* stack */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.reversePostOrder:[Lorg/graalvm/compiler/nodes/cfg/Block;
        81: .line 302
            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   82     0             this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            1   82     1        numBlocks  I
            3    6     2            begin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            4    6     4            block  Lorg/graalvm/compiler/nodes/cfg/Block;
            8   82     2            count  I
            9   82     3          nodeMap  Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           10   82     4            stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
           11   82     5              tos  I
           12   82     6       startBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
           15   77     7            block  Lorg/graalvm/compiler/nodes/cfg/Block;
           16   77     8               id  I
           18   68     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;
           42   53    10         startTos  I
           43   53    11           ifPred  [Lorg/graalvm/compiler/nodes/cfg/Block;
           45   48    12          suxNode  Lorg/graalvm/compiler/graph/Node;
           46   48    14              sux  Lorg/graalvm/compiler/nodes/cfg/Block;
           50   53    12         suxCount  I
           51   53    13       successors  [Lorg/graalvm/compiler/nodes/cfg/Block;
           55   68    10        beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           60   68    11        mergeNode  Lorg/graalvm/compiler/nodes/MergeNode;
           61   68    12  forwardEndCount  I
           62   68    13     predecessors  [Lorg/graalvm/compiler/nodes/cfg/Block;
           63   67    14                i  I
           73   75     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 305
            aload 2 /* loopBeginNode */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.forwardEndCount:()I
            istore 3 /* forwardEndCount */
        start local 3 // int forwardEndCount
         1: .line 306
            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 307
            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 308
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 309
      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 308
            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 311
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 12
        10: .line 312
      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 311
            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 314
            aload 1 /* block */
            aload 5 /* predecessors */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setPredecessors:([Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)V
        14: .line 315
            return
        end local 5 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
        end local 4 // org.graalvm.compiler.nodes.LoopEndNode[] loopEnds
        end local 3 // int forwardEndCount
        end local 2 // org.graalvm.compiler.nodes.LoopBeginNode loopBeginNode
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        end local 0 // org.graalvm.compiler.graph.NodeMap nodeMap
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0          nodeMap  Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0   15     1            block  Lorg/graalvm/compiler/nodes/cfg/Block;
            0   15     2    loopBeginNode  Lorg/graalvm/compiler/nodes/LoopBeginNode;
            1   15     3  forwardEndCount  I
            2   15     4         loopEnds  [Lorg/graalvm/compiler/nodes/LoopEndNode;
            3   15     5     predecessors  [Lorg/graalvm/compiler/nodes/cfg/Block;
            4    8     6                i  I
            9   13     6                i  I
    Signature: (Lorg/graalvm/compiler/graph/NodeMap<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/nodes/LoopBeginNode;)V
    MethodParameters:
               Name  Flags
      nodeMap        
      block          
      loopBeginNode  

  private void computeProbabilities();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 319
            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 31
      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 320
            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 323
            aload 5 /* predecessors */
            arraylength
            ifne 6
         4: .line 324
            dconst_1
            dstore 6 /* probability */
        start local 6 // double probability
         5: .line 325
            goto 23
        end local 6 // double probability
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
         6: aload 5 /* predecessors */
            arraylength
            iconst_1
            if_icmpne 14
         7: .line 326
            aload 5 /* predecessors */
            iconst_0
            aaload
            astore 8 /* pred */
        start local 8 // org.graalvm.compiler.nodes.cfg.Block pred
         8: .line 327
            aload 8 /* pred */
            getfield org.graalvm.compiler.nodes.cfg.Block.probability:D
            dstore 6 /* probability */
        start local 6 // double probability
         9: .line 328
            aload 8 /* pred */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
            iconst_1
            if_icmple 23
        10: .line 329
            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 330
      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 331
            dload 6 /* probability */
            aload 9 /* controlSplit */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            invokevirtual org.graalvm.compiler.nodes.ControlSplitNode.probability:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)D
            dmul
            dstore 6 /* probability */
        end local 9 // org.graalvm.compiler.nodes.ControlSplitNode controlSplit
        end local 8 // org.graalvm.compiler.nodes.cfg.Block pred
        13: .line 333
            goto 23
        end local 6 // double probability
        14: .line 334
      StackMap locals:
      StackMap stack:
            aload 5 /* predecessors */
            iconst_0
            aaload
            getfield org.graalvm.compiler.nodes.cfg.Block.probability:D
            dstore 6 /* probability */
        start local 6 // double probability
        15: .line 335
            iconst_1
            istore 8 /* i */
        start local 8 // int i
        16: goto 19
        17: .line 336
      StackMap locals: double int
      StackMap stack:
            dload 6 /* probability */
            aload 5 /* predecessors */
            iload 8 /* i */
            aaload
            getfield org.graalvm.compiler.nodes.cfg.Block.probability:D
            dadd
            dstore 6 /* probability */
        18: .line 335
            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 339
            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 340
            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 341
            dload 6 /* probability */
            aload 8 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.loopFrequency:()D
            dmul
            dstore 6 /* probability */
        end local 8 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        23: .line 344
      StackMap locals:
      StackMap stack:
            dload 6 /* probability */
            ldc 3.0549363634996047E-151
            dcmpg
            ifge 26
        24: .line 345
            aload 1 /* block */
            ldc 3.0549363634996047E-151
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setProbability:(D)V
        25: .line 346
            goto 30
      StackMap locals:
      StackMap stack:
        26: dload 6 /* probability */
            ldc 3.273390607896142E150
            dcmpl
            ifle 29
        27: .line 347
            aload 1 /* block */
            ldc 3.273390607896142E150
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setProbability:(D)V
        28: .line 348
            goto 30
        29: .line 349
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            dload 6 /* probability */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.setProbability:(D)V
        end local 6 // double probability
        end local 5 // org.graalvm.compiler.nodes.cfg.Block[] predecessors
        end local 1 // org.graalvm.compiler.nodes.cfg.Block block
        30: .line 319
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        31: iload 2
            iload 3
            if_icmplt 1
        32: .line 353
            return
        end local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            2   30     1         block  Lorg/graalvm/compiler/nodes/cfg/Block;
            3   30     5  predecessors  [Lorg/graalvm/compiler/nodes/cfg/Block;
            5    6     6   probability  D
            9   14     6   probability  D
           15   30     6   probability  D
            8   13     8          pred  Lorg/graalvm/compiler/nodes/cfg/Block;
           12   13     9  controlSplit  Lorg/graalvm/compiler/nodes/ControlSplitNode;
           16   20     8             i  I
           22   23     8     loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;

  private void computeLoopInformation();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=17, args_size=1
        start local 0 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph this
         0: .line 356
            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 357
            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 42
         2: .line 358
            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 359
            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 41
      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 360
            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 361
            aload 6 /* beginNode */
            instanceof org.graalvm.compiler.nodes.LoopBeginNode
            ifeq 40
         7: .line 362
            new org.graalvm.compiler.nodes.cfg.HIRLoop
            dup
            aload 2 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            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 7 /* loop */
        start local 7 // org.graalvm.compiler.core.common.cfg.Loop loop
         8: .line 363
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.loops:Ljava/util/List;
            aload 7 /* loop */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 364
            aload 2 /* block */
            aload 7 /* loop */
            putfield org.graalvm.compiler.nodes.cfg.Block.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
        10: .line 365
            aload 7 /* 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
        11: .line 367
            aload 6 /* beginNode */
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            astore 8 /* loopBegin */
        start local 8 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        12: .line 368
            aload 8 /* 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 10
            goto 16
      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.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
        13: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopEndNode
            astore 9 /* end */
        start local 9 // org.graalvm.compiler.nodes.LoopEndNode end
        14: .line 369
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            aload 9 /* end */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 11 /* endBlock */
        start local 11 // org.graalvm.compiler.nodes.cfg.Block endBlock
        15: .line 370
            aload 11 /* endBlock */
            aload 7 /* 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 11 // org.graalvm.compiler.nodes.cfg.Block endBlock
        end local 9 // org.graalvm.compiler.nodes.LoopEndNode end
        16: .line 368
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        17: .line 373
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            if_acmpeq 40
        18: .line 374
            aload 8 /* 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 10
            goto 24
      StackMap locals:
      StackMap stack:
        19: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            astore 9 /* exit */
        start local 9 // org.graalvm.compiler.nodes.LoopExitNode exit
        20: .line 375
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
            aload 9 /* exit */
            invokevirtual org.graalvm.compiler.graph.NodeMap.get:(Lorg/graalvm/compiler/graph/Node;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 11 /* exitBlock */
        start local 11 // org.graalvm.compiler.nodes.cfg.Block exitBlock
        21: .line 376
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 22
            aload 11 /* exitBlock */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPredecessorCount:()I
            iconst_1
            if_icmpeq 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 377
      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.nodes.LoopBeginNode org.graalvm.compiler.nodes.LoopExitNode java.util.Iterator org.graalvm.compiler.nodes.cfg.Block
      StackMap stack:
            aload 11 /* exitBlock */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getFirstPredecessor:()Lorg/graalvm/compiler/nodes/cfg/Block;
            aload 7 /* 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
        23: .line 378
            aload 7 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getExits:()Ljava/util/List;
            aload 11 /* exitBlock */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // org.graalvm.compiler.nodes.cfg.Block exitBlock
        end local 9 // org.graalvm.compiler.nodes.LoopExitNode exit
        24: .line 374
      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.nodes.LoopBeginNode top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        25: .line 383
            aload 7 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 9 /* size */
        start local 9 // int size
        26: .line 384
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        27: goto 39
        28: .line 385
      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.nodes.LoopBeginNode int int
      StackMap stack:
            aload 7 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            iload 10 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            astore 11 /* b */
        start local 11 // org.graalvm.compiler.nodes.cfg.Block b
        29: .line 386
            aload 11 /* 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 37
      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.nodes.LoopBeginNode int int org.graalvm.compiler.nodes.cfg.Block top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        30: aload 15
            iload 13
            aaload
            astore 12 /* sux */
        start local 12 // org.graalvm.compiler.nodes.cfg.Block sux
        31: .line 387
            aload 12 /* sux */
            getfield org.graalvm.compiler.nodes.cfg.Block.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 7 /* loop */
            if_acmpeq 36
        32: .line 388
            aload 12 /* sux */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            astore 16 /* begin */
        start local 16 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        33: .line 389
            aload 16 /* begin */
            instanceof org.graalvm.compiler.nodes.LoopExitNode
            ifeq 34
            aload 16 /* begin */
            checkcast org.graalvm.compiler.nodes.LoopExitNode
            invokevirtual org.graalvm.compiler.nodes.LoopExitNode.loopBegin:()Lorg/graalvm/compiler/nodes/LoopBeginNode;
            aload 8 /* loopBegin */
            if_acmpeq 36
        34: .line 390
      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.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:
            iconst_3
            ldc "Unexpected loop exit with %s, including whole branch in the loop"
            aload 12 /* sux */
            invokestatic org.graalvm.compiler.debug.Debug.log:(ILjava/lang/String;Ljava/lang/Object;)V
        35: .line 391
            aload 12 /* sux */
            aload 7 /* 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 16 // org.graalvm.compiler.nodes.AbstractBeginNode begin
        end local 12 // org.graalvm.compiler.nodes.cfg.Block sux
        36: .line 386
      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.nodes.LoopBeginNode int int org.graalvm.compiler.nodes.cfg.Block top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 13 1
      StackMap locals:
      StackMap stack:
        37: iload 13
            iload 14
            if_icmplt 30
        end local 11 // org.graalvm.compiler.nodes.cfg.Block b
        38: .line 384
            iinc 10 /* 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.nodes.LoopBeginNode int int
      StackMap stack:
        39: iload 10 /* i */
            iload 9 /* size */
            if_icmplt 28
        end local 10 // int i
        end local 9 // int size
        end local 8 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        end local 7 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 6 // org.graalvm.compiler.nodes.AbstractBeginNode beginNode
        end local 2 // org.graalvm.compiler.nodes.cfg.Block block
        40: .line 359
      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:
        41: iload 3
            iload 4
            if_icmplt 4
        end local 1 // org.graalvm.compiler.nodes.cfg.Block[] stack
        42: .line 404
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            if_acmpne 68
        43: .line 405
            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 67
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        44: aload 4
            iload 2
            aaload
            astore 1 /* b */
        start local 1 // org.graalvm.compiler.nodes.cfg.Block b
        45: .line 406
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            ifnull 66
        46: .line 407
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block[]
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 65
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
        47: aload 8
            iload 6
            aaload
            astore 5 /* succ */
        start local 5 // org.graalvm.compiler.nodes.cfg.Block succ
        48: .line 409
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            if_acmpeq 64
        49: .line 411
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            ifnonnull 56
        50: .line 413
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 9 /* curr */
        start local 9 // org.graalvm.compiler.core.common.cfg.Loop curr
        51: .line 414
            goto 54
        52: .line 415
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            aload 9 /* curr */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getExits:()Ljava/util/List;
            aload 5 /* succ */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        53: .line 416
            aload 9 /* curr */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 9 /* curr */
        54: .line 414
      StackMap locals:
      StackMap stack:
            aload 9 /* curr */
            ifnonnull 52
        end local 9 // org.graalvm.compiler.core.common.cfg.Loop curr
        55: .line 418
            goto 64
        56: .line 431
      StackMap locals:
      StackMap stack:
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            if_acmpeq 64
        57: .line 432
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 58
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getDepth:()I
            if_icmplt 58
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        58: .line 434
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.$assertionsDisabled:Z
            ifne 59
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokestatic org.graalvm.compiler.core.common.cfg.Loop.transitiveParentLoop:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/core/common/cfg/Loop;)Z
            ifeq 59
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        59: .line 435
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 9 /* curr */
        start local 9 // org.graalvm.compiler.core.common.cfg.Loop curr
        60: .line 436
            goto 63
        61: .line 437
      StackMap locals: org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            aload 9 /* curr */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getExits:()Ljava/util/List;
            aload 5 /* succ */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        62: .line 438
            aload 9 /* curr */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 9 /* curr */
        63: .line 436
      StackMap locals:
      StackMap stack:
            aload 9 /* curr */
            ifnull 64
            aload 9 /* curr */
            aload 5 /* succ */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            if_acmpne 61
        end local 9 // org.graalvm.compiler.core.common.cfg.Loop curr
        end local 5 // org.graalvm.compiler.nodes.cfg.Block succ
        64: .line 407
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph org.graalvm.compiler.nodes.cfg.Block int int org.graalvm.compiler.nodes.cfg.Block[] top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        65: iload 6
            iload 7
            if_icmplt 47
        end local 1 // org.graalvm.compiler.nodes.cfg.Block b
        66: .line 405
      StackMap locals: org.graalvm.compiler.nodes.cfg.ControlFlowGraph top int int org.graalvm.compiler.nodes.cfg.Block[]
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        67: iload 2
            iload 3
            if_icmplt 44
        68: .line 448
      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   69     0       this  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            3   42     1      stack  [Lorg/graalvm/compiler/nodes/cfg/Block;
            5   40     2      block  Lorg/graalvm/compiler/nodes/cfg/Block;
            6   40     6  beginNode  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            8   40     7       loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           12   40     8  loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
           14   16     9        end  Lorg/graalvm/compiler/nodes/LoopEndNode;
           15   16    11   endBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
           20   24     9       exit  Lorg/graalvm/compiler/nodes/LoopExitNode;
           21   24    11  exitBlock  Lorg/graalvm/compiler/nodes/cfg/Block;
           26   40     9       size  I
           27   40    10          i  I
           29   38    11          b  Lorg/graalvm/compiler/nodes/cfg/Block;
           31   36    12        sux  Lorg/graalvm/compiler/nodes/cfg/Block;
           33   36    16      begin  Lorg/graalvm/compiler/nodes/AbstractBeginNode;
           45   66     1          b  Lorg/graalvm/compiler/nodes/cfg/Block;
           48   64     5       succ  Lorg/graalvm/compiler/nodes/cfg/Block;
           51   55     9       curr  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
           60   64     9       curr  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;

  private static void computeLoopBlocks(org.graalvm.compiler.nodes.cfg.Block, org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.nodes.cfg.Block[], );
    descriptor: (Lorg/graalvm/compiler/nodes/cfg/Block;Lorg/graalvm/compiler/core/common/cfg/Loop;[Lorg/graalvm/compiler/nodes/cfg/Block;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.nodes.cfg.Block start
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 2 // org.graalvm.compiler.nodes.cfg.Block[] stack
        start local 3 // boolean usePred
         0: .line 451
            aload 0 /* start */
            getfield org.graalvm.compiler.nodes.cfg.Block.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* loop */
            if_acmpeq 18
         1: .line 452
            aload 0 /* start */
            aload 1 /* loop */
            putfield org.graalvm.compiler.nodes.cfg.Block.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
         2: .line 453
            aload 2 /* stack */
            iconst_0
            aload 0 /* start */
            aastore
         3: .line 454
            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 455
            iconst_0
            istore 4 /* tos */
        start local 4 // int tos
         5: .line 457
      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 460
            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 461
            aload 6 /* b */
            getfield org.graalvm.compiler.nodes.cfg.Block.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* loop */
            if_acmpeq 14
        11: .line 462
            aload 2 /* stack */
            iinc 4 /* tos */ 1
            iload 4 /* tos */
            aload 6 /* b */
            aastore
        12: .line 463
            aload 6 /* b */
            aload 1 /* loop */
            putfield org.graalvm.compiler.nodes.cfg.Block.loop:Lorg/graalvm/compiler/core/common/cfg/Loop;
        13: .line 464
            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 460
      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 467
            iload 4 /* tos */
        17: .line 456
            ifge 5
        end local 4 // int tos
        18: .line 469
      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 473
            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 475
            aload 1 /* reversePostOrderTmp */
            arraylength
            iconst_1
            isub
            istore 2 /* j */
        start local 2 // int j
         2: goto 23
         3: .line 476
      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 477
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.isLoopEnd:()Z
            ifeq 6
         5: .line 479
            goto 22
         6: .line 481
      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 483
            goto 22
         8: .line 485
      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 486
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getSuccessorCount:()I
            iconst_1
            if_icmpne 12
        10: .line 487
            aload 3 /* block */
            aload 4 /* firstSucc */
            putfield org.graalvm.compiler.nodes.cfg.Block.postdominator:Lorg/graalvm/compiler/nodes/cfg/Block;
        11: .line 488
            goto 22
        12: .line 490
      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 491
            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 492
            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 493
            aload 5 /* postdominator */
            ifnonnull 18
        17: .line 495
            goto 22
        end local 6 // org.graalvm.compiler.nodes.cfg.Block sux
        18: .line 491
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        19: iload 7
            iload 8
            if_icmplt 14
        20: .line 498
            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 499
      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 */
            putfield org.graalvm.compiler.nodes.cfg.Block.postdominator:Lorg/graalvm/compiler/nodes/cfg/Block;
        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 475
      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 501
            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 504
            aload 0 /* a */
            astore 2 /* iterA */
        start local 2 // org.graalvm.compiler.nodes.cfg.Block iterA
         1: .line 505
            aload 1 /* b */
            astore 3 /* iterB */
        start local 3 // org.graalvm.compiler.nodes.cfg.Block iterB
         2: .line 506
            goto 11
         3: .line 507
      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 508
            aload 2 /* iterA */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getPostdominator:()Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 2 /* iterA */
         5: .line 509
            aload 2 /* iterA */
            ifnonnull 11
         6: .line 510
            aconst_null
            areturn
         7: .line 513
      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 514
      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 515
            aload 3 /* iterB */
            ifnonnull 11
        10: .line 516
            aconst_null
            areturn
        11: .line 506
      StackMap locals:
      StackMap stack:
            aload 2 /* iterA */
            aload 3 /* iterB */
            if_acmpne 3
        12: .line 520
            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 524
            aload 0 /* this */
            aload 1 /* nodeMap */
            putfield org.graalvm.compiler.nodes.cfg.ControlFlowGraph.nodeToBlock:Lorg/graalvm/compiler/graph/NodeMap;
         1: .line 525
            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 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"
InnerClasses:
  public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph