public class org.graalvm.compiler.core.common.cfg.CFGVerifier
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.common.cfg.CFGVerifier
  super_class: java.lang.Object
{
  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 29
            ldc Lorg/graalvm/compiler/core/common/cfg/CFGVerifier;
            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.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.common.cfg.CFGVerifier this
         0: .line 29
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.graalvm.compiler.core.common.cfg.CFGVerifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/common/cfg/CFGVerifier;

  public static <T extends org.graalvm.compiler.core.common.cfg.AbstractBlockBase<T>, C extends org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph<T>> boolean verify();
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=13, args_size=1
        start local 0 // org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph cfg
         0: .line 32
            aload 0 /* cfg */
            invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 52
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
         1: aload 4
            iload 2
            aaload
            astore 1 /* block */
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         2: .line 33
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 3
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            ifge 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 34
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 4
            aload 0 /* cfg */
            invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            aaload
            aload 1 /* block */
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 36
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 9
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
         5: aload 8
            iload 6
            aaload
            astore 5 /* pred */
        start local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
         6: .line 37
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 7
            aload 5 /* pred */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* block */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 38
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 8
            aload 5 /* pred */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            if_icmplt 8
            aload 5 /* pred */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopEnd:()Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
         8: .line 36
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
         9: iload 6
            iload 7
            if_icmplt 5
        10: .line 41
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 15
      StackMap locals:
      StackMap stack:
        11: aload 8
            iload 6
            aaload
            astore 5 /* sux */
        start local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        12: .line 42
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 13
            aload 5 /* sux */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 1 /* block */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 43
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 14
            aload 5 /* sux */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            if_icmpgt 14
            aload 5 /* sux */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopHeader:()Z
            ifne 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        14: .line 41
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        15: iload 6
            iload 7
            if_icmplt 11
        16: .line 46
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            ifnull 19
        17: .line 47
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 18
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            if_icmplt 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 48
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 19
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominated:()Ljava/util/List;
            aload 1 /* block */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 50
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominated:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 23
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top java.util.Iterator
      StackMap stack:
        20: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase
            astore 5 /* dominated */
        start local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase dominated
        21: .line 51
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 22
            aload 5 /* dominated */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            if_icmpgt 22
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        22: .line 52
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.Iterator
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 23
            aload 5 /* dominated */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 1 /* block */
            if_acmpeq 23
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase dominated
        23: .line 50
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        24: .line 55
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPostdominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 5 /* postDominatorBlock */
        start local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase postDominatorBlock
        25: .line 56
            aload 5 /* postDominatorBlock */
            ifnull 50
        26: .line 57
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 27
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessorCount:()I
            ifgt 27
            new java.lang.AssertionError
            dup
            ldc "block has post-dominator block, but no successors"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        27: .line 59
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            new org.graalvm.compiler.core.common.cfg.BlockMap
            dup
            aload 0 /* cfg */
            invokespecial org.graalvm.compiler.core.common.cfg.BlockMap.<init>:(Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph;)V
            astore 6 /* visitedBlocks */
        start local 6 // org.graalvm.compiler.core.common.cfg.BlockMap visitedBlocks
        28: .line 60
            aload 6 /* visitedBlocks */
            aload 1 /* block */
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.put:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/lang/Object;)V
        29: .line 62
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 7 /* stack */
        start local 7 // java.util.Deque stack
        30: .line 63
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 35
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.BlockMap java.util.Deque top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
        31: aload 11
            iload 9
            aaload
            astore 8 /* sux */
        start local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        32: .line 64
            aload 6 /* visitedBlocks */
            aload 8 /* sux */
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.put:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/lang/Object;)V
        33: .line 65
            aload 7 /* stack */
            aload 8 /* sux */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        end local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        34: .line 63
            iinc 9 1
      StackMap locals:
      StackMap stack:
        35: iload 9
            iload 10
            if_icmplt 31
        36: .line 68
            goto 49
        37: .line 69
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.BlockMap java.util.Deque
      StackMap stack:
            aload 7 /* stack */
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase
            astore 8 /* tos */
        start local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase tos
        38: .line 70
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 39
            aload 8 /* tos */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            aload 5 /* postDominatorBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            if_icmple 39
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        39: .line 71
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            aload 8 /* tos */
            aload 5 /* postDominatorBlock */
            if_acmpne 41
        40: .line 72
            goto 49
        41: .line 74
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 42
            aload 8 /* tos */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessorCount:()I
            ifgt 42
            new java.lang.AssertionError
            dup
            ldc "no path found"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        42: .line 76
      StackMap locals:
      StackMap stack:
            aload 8 /* tos */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 48
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.BlockMap java.util.Deque org.graalvm.compiler.core.common.cfg.AbstractBlockBase top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
        43: aload 12
            iload 10
            aaload
            astore 9 /* sux */
        start local 9 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        44: .line 77
            aload 6 /* visitedBlocks */
            aload 9 /* sux */
            invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
            ifnonnull 47
        45: .line 78
            aload 6 /* visitedBlocks */
            aload 9 /* sux */
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.put:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Ljava/lang/Object;)V
        46: .line 79
            aload 7 /* stack */
            aload 9 /* sux */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        end local 9 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        47: .line 76
      StackMap locals:
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        48: iload 10
            iload 11
            if_icmplt 43
        end local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase tos
        49: .line 68
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[] org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.BlockMap java.util.Deque
      StackMap stack:
            aload 7 /* stack */
            invokeinterface java.util.Deque.size:()I
            ifgt 37
        end local 7 // java.util.Deque stack
        end local 6 // org.graalvm.compiler.core.common.cfg.BlockMap visitedBlocks
        50: .line 85
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 51
            aload 0 /* cfg */
            invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getLoops:()Ljava/util/Collection;
            ifnull 51
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopHeader:()Z
            ifeq 51
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 1 /* block */
            if_acmpeq 51
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase postDominatorBlock
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        51: .line 32
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        52: iload 2
            iload 3
            if_icmplt 1
        53: .line 88
            aload 0 /* cfg */
            invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getLoops:()Ljava/util/Collection;
            ifnull 84
        54: .line 89
            aload 0 /* cfg */
            invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getLoops:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 83
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph top java.util.Iterator
      StackMap stack:
        55: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.Loop
            astore 1 /* loop */
        start local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        56: .line 90
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 57
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopHeader:()Z
            ifne 57
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        57: .line 92
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator
      StackMap stack:
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 73
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator top java.util.Iterator
      StackMap stack:
        58: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase
            astore 3 /* block */
        start local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        59: .line 93
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 60
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            if_icmpge 60
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        60: .line 95
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.Iterator
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 5 /* blockLoop */
        start local 5 // org.graalvm.compiler.core.common.cfg.Loop blockLoop
        61: .line 96
            goto 64
        62: .line 97
      StackMap locals: org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 63
            aload 5 /* blockLoop */
            ifnonnull 63
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        63: .line 98
      StackMap locals:
      StackMap stack:
            aload 5 /* blockLoop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 5 /* blockLoop */
        64: .line 96
      StackMap locals:
      StackMap stack:
            aload 5 /* blockLoop */
            aload 1 /* loop */
            if_acmpne 62
        65: .line 101
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopHeader:()Z
            ifeq 66
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* loop */
            if_acmpeq 73
        66: .line 102
      StackMap locals:
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 72
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.Iterator org.graalvm.compiler.core.common.cfg.Loop top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
        67: aload 9
            iload 7
            aaload
            astore 6 /* pred */
        start local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        68: .line 103
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getBlocks:()Ljava/util/List;
            aload 6 /* pred */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 71
        69: .line 104
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 70
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Loop "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* loop */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not contain "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* pred */
            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
        70: .line 105
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.Iterator org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.core.common.cfg.AbstractBlockBase int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            iconst_0
            ireturn
        end local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        71: .line 102
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.Iterator org.graalvm.compiler.core.common.cfg.Loop top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        72: iload 7
            iload 8
            if_icmplt 67
        end local 5 // org.graalvm.compiler.core.common.cfg.Loop blockLoop
        end local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        73: .line 92
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 58
        74: .line 111
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getExits:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 82
      StackMap locals:
      StackMap stack:
        75: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase
            astore 3 /* block */
        start local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        76: .line 112
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 77
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            if_icmpge 77
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        77: .line 114
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator org.graalvm.compiler.core.common.cfg.AbstractBlockBase java.util.Iterator
      StackMap stack:
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 5 /* blockLoop */
        start local 5 // org.graalvm.compiler.core.common.cfg.Loop blockLoop
        78: .line 115
            goto 81
        79: .line 116
      StackMap locals: org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            aload 5 /* blockLoop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getParent:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 5 /* blockLoop */
        80: .line 117
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 81
            aload 5 /* blockLoop */
            aload 1 /* loop */
            if_acmpne 81
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        81: .line 115
      StackMap locals:
      StackMap stack:
            aload 5 /* blockLoop */
            ifnonnull 79
        end local 5 // org.graalvm.compiler.core.common.cfg.Loop blockLoop
        end local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        82: .line 111
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph org.graalvm.compiler.core.common.cfg.Loop java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 75
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        83: .line 89
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 55
        84: .line 123
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph cfg
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   85     0                 cfg  TC;
            2   51     1               block  TT;
            6    8     5                pred  TT;
           12   14     5                 sux  TT;
           21   23     5           dominated  TT;
           25   51     5  postDominatorBlock  TT;
           28   50     6       visitedBlocks  Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/lang/Boolean;>;
           30   50     7               stack  Ljava/util/Deque<TT;>;
           32   34     8                 sux  TT;
           38   49     8                 tos  TT;
           44   47     9                 sux  TT;
           56   83     1                loop  Lorg/graalvm/compiler/core/common/cfg/Loop<TT;>;
           59   73     3               block  TT;
           61   73     5           blockLoop  Lorg/graalvm/compiler/core/common/cfg/Loop<*>;
           68   71     6                pred  TT;
           76   82     3               block  TT;
           78   82     5           blockLoop  Lorg/graalvm/compiler/core/common/cfg/Loop<*>;
    Signature: <T:Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<TT;>;C::Lorg/graalvm/compiler/core/common/cfg/AbstractControlFlowGraph<TT;>;>(TC;)Z
    MethodParameters:
      Name  Flags
      cfg   
}
SourceFile: "CFGVerifier.java"