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 31
            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 31
            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=14, args_size=1
        start local 0 // org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph cfg
         0: .line 34
            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 59
      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 35
            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 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[]
      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 38
      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 39
            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 40
      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 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[] 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 43
            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 44
            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 45
      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 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[] 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 48
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            ifnull 25
        17: .line 49
            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 51
      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:
            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.getFirstDominated:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 5 /* domChild */
        start local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase domChild
        19: .line 52
            goto 23
        20: .line 53
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            aload 5 /* domChild */
            aload 1 /* block */
            if_acmpne 22
        21: .line 54
            goto 24
        22: .line 56
      StackMap locals:
      StackMap stack:
            aload 5 /* domChild */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 5 /* domChild */
        23: .line 52
      StackMap locals:
      StackMap stack:
            aload 5 /* domChild */
            ifnonnull 20
        24: .line 58
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 25
            aload 5 /* domChild */
            ifnonnull 25
            new java.lang.AssertionError
            dup
            ldc "dominators must contain block"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase domChild
        25: .line 61
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getFirstDominated:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 5 /* dominated */
        start local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase dominated
        26: .line 62
            goto 30
        27: .line 63
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 28
            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 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 64
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 29
            aload 5 /* dominated */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            aload 1 /* block */
            if_acmpeq 29
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        29: .line 65
      StackMap locals:
      StackMap stack:
            aload 5 /* dominated */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getDominatedSibling:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 5 /* dominated */
        30: .line 62
      StackMap locals:
      StackMap stack:
            aload 5 /* dominated */
            ifnonnull 27
        31: .line 68
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPostdominator:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 6 /* postDominatorBlock */
        start local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase postDominatorBlock
        32: .line 69
            aload 6 /* postDominatorBlock */
            ifnull 57
        33: .line 70
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 34
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessorCount:()I
            ifgt 34
            new java.lang.AssertionError
            dup
            ldc "block has post-dominator block, but no successors"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        34: .line 72
      StackMap locals: 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 7 /* visitedBlocks */
        start local 7 // org.graalvm.compiler.core.common.cfg.BlockMap visitedBlocks
        35: .line 73
            aload 7 /* 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
        36: .line 75
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            astore 8 /* stack */
        start local 8 // java.util.Deque stack
        37: .line 76
            aload 1 /* block */
            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 42
      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.AbstractBlockBase org.graalvm.compiler.core.common.cfg.BlockMap java.util.Deque top int int org.graalvm.compiler.core.common.cfg.AbstractBlockBase[]
      StackMap stack:
        38: aload 12
            iload 10
            aaload
            astore 9 /* sux */
        start local 9 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        39: .line 77
            aload 7 /* 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
        40: .line 78
            aload 8 /* stack */
            aload 9 /* sux */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        end local 9 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        41: .line 76
            iinc 10 1
      StackMap locals:
      StackMap stack:
        42: iload 10
            iload 11
            if_icmplt 38
        43: .line 81
            goto 56
        44: .line 82
      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.AbstractBlockBase org.graalvm.compiler.core.common.cfg.BlockMap java.util.Deque
      StackMap stack:
            aload 8 /* stack */
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.AbstractBlockBase
            astore 9 /* tos */
        start local 9 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase tos
        45: .line 83
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 46
            aload 9 /* tos */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            aload 6 /* postDominatorBlock */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getId:()I
            if_icmple 46
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        46: .line 84
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            aload 9 /* tos */
            aload 6 /* postDominatorBlock */
            if_acmpne 48
        47: .line 85
            goto 56
        48: .line 87
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 49
            aload 9 /* tos */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessorCount:()I
            ifgt 49
            new java.lang.AssertionError
            dup
            ldc "no path found"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        49: .line 89
      StackMap locals:
      StackMap stack:
            aload 9 /* tos */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getSuccessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            dup
            astore 13
            arraylength
            istore 12
            iconst_0
            istore 11
            goto 55
      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.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:
        50: aload 13
            iload 11
            aaload
            astore 10 /* sux */
        start local 10 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        51: .line 90
            aload 7 /* visitedBlocks */
            aload 10 /* sux */
            invokevirtual org.graalvm.compiler.core.common.cfg.BlockMap.get:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Ljava/lang/Object;
            ifnonnull 54
        52: .line 91
            aload 7 /* visitedBlocks */
            aload 10 /* 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
        53: .line 92
            aload 8 /* stack */
            aload 10 /* sux */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        end local 10 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase sux
        54: .line 89
      StackMap locals:
      StackMap stack:
            iinc 11 1
      StackMap locals:
      StackMap stack:
        55: iload 11
            iload 12
            if_icmplt 50
        end local 9 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase tos
        56: .line 81
      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.AbstractBlockBase org.graalvm.compiler.core.common.cfg.BlockMap java.util.Deque
      StackMap stack:
            aload 8 /* stack */
            invokeinterface java.util.Deque.size:()I
            ifgt 44
        end local 8 // java.util.Deque stack
        end local 7 // org.graalvm.compiler.core.common.cfg.BlockMap visitedBlocks
        57: .line 98
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 58
            aload 0 /* cfg */
            invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getLoops:()Ljava/util/Collection;
            ifnull 58
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopHeader:()Z
            ifeq 58
            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 58
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase postDominatorBlock
        end local 5 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase dominated
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        58: .line 34
      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:
        59: iload 2
            iload 3
            if_icmplt 1
        60: .line 101
            aload 0 /* cfg */
            invokeinterface org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph.getLoops:()Ljava/util/Collection;
            ifnull 91
        61: .line 102
            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 90
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph top java.util.Iterator
      StackMap stack:
        62: 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
        63: .line 103
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 64
            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 64
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        64: .line 105
      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 80
      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:
        65: 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
        66: .line 106
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 67
            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 67
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        67: .line 108
      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
        68: .line 109
            goto 71
        69: .line 110
      StackMap locals: org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 70
            aload 5 /* blockLoop */
            ifnonnull 70
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        70: .line 111
      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 */
        71: .line 109
      StackMap locals:
      StackMap stack:
            aload 5 /* blockLoop */
            aload 1 /* loop */
            if_acmpne 69
        72: .line 114
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.isLoopHeader:()Z
            ifeq 73
            aload 3 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            aload 1 /* loop */
            if_acmpeq 80
        73: .line 115
      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 79
      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:
        74: aload 9
            iload 7
            aaload
            astore 6 /* pred */
        start local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        75: .line 116
            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 78
        76: .line 117
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 77
            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
        77: .line 118
      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
        78: .line 115
      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:
        79: iload 7
            iload 8
            if_icmplt 74
        end local 5 // org.graalvm.compiler.core.common.cfg.Loop blockLoop
        end local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        80: .line 105
      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 65
        81: .line 124
            aload 1 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getLoopExits:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 89
      StackMap locals:
      StackMap stack:
        82: 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
        83: .line 125
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 84
            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 84
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        84: .line 127
      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
        85: .line 128
            goto 88
        86: .line 129
      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 */
        87: .line 130
            getstatic org.graalvm.compiler.core.common.cfg.CFGVerifier.$assertionsDisabled:Z
            ifne 88
            aload 5 /* blockLoop */
            aload 1 /* loop */
            if_acmpne 88
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        88: .line 128
      StackMap locals:
      StackMap stack:
            aload 5 /* blockLoop */
            ifnonnull 86
        end local 5 // org.graalvm.compiler.core.common.cfg.Loop blockLoop
        end local 3 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        89: .line 124
      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 82
        end local 1 // org.graalvm.compiler.core.common.cfg.Loop loop
        90: .line 102
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 62
        91: .line 136
      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   92     0                 cfg  TC;
            2   58     1               block  TT;
            6    8     5                pred  TT;
           12   14     5                 sux  TT;
           19   25     5            domChild  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
           26   58     5           dominated  TT;
           32   58     6  postDominatorBlock  TT;
           35   57     7       visitedBlocks  Lorg/graalvm/compiler/core/common/cfg/BlockMap<Ljava/lang/Boolean;>;
           37   57     8               stack  Ljava/util/Deque<TT;>;
           39   41     9                 sux  TT;
           45   56     9                 tos  TT;
           51   54    10                 sux  TT;
           63   90     1                loop  Lorg/graalvm/compiler/core/common/cfg/Loop<TT;>;
           66   80     3               block  TT;
           68   80     5           blockLoop  Lorg/graalvm/compiler/core/common/cfg/Loop<*>;
           75   78     6                pred  TT;
           83   89     3               block  TT;
           85   89     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"