public class org.graalvm.compiler.core.test.NestedLoopTest extends org.graalvm.compiler.core.test.GraalCompilerTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.core.test.NestedLoopTest
  super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
         0: .line 38
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/NestedLoopTest;

  public void test1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
         0: .line 40
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/NestedLoopTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void test2();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
         0: .line 45
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/NestedLoopTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void test3();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
         0: .line 50
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/NestedLoopTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void test4();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
         0: .line 55
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/NestedLoopTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public static void test1Snippet(int);
    descriptor: (I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int a
         0: .line 62
            goto 5
         1: .line 65
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.d:()Z
            ifeq 3
         2: .line 66
            goto 5
         3: .line 64
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.c:()Z
            ifne 1
         4: .line 63
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.b:()Z
            ifne 3
         5: .line 62
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.a:()Z
            ifne 4
         6: .line 71
            return
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0     a  I
    MethodParameters:
      Name  Flags
      a     

  public static void test2Snippet(int);
    descriptor: (I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int a
         0: .line 75
            goto 7
         1: .line 79
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.d:()Z
            ifeq 3
         2: .line 80
            goto 7
         3: .line 78
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.c:()Z
            ifne 1
         4: .line 77
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.b:()Z
            ifne 3
         5: .line 84
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: pop
         7: .line 75
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.a:()Z
            ifne 4
         8: .line 87
            return
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     a  I
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      a     

  public static void test3Snippet(int);
    descriptor: (I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int a
         0: .line 91
            goto 8
         1: .line 95
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.d:()Z
            ifeq 4
         2: .line 96
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.a:()Z
            pop
         3: .line 97
            goto 8
         4: .line 94
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.c:()Z
            ifne 1
         5: .line 93
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.b:()Z
            ifne 4
         6: .line 101
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: pop
         8: .line 91
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            ifeq 5
         9: .line 104
            return
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0     a  I
      Exception table:
        from    to  target  type
           1     6       7  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      a     

  public static void test4Snippet(int);
    descriptor: (I)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int a
         0: .line 107
            goto 12
         1: .line 110
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.b:()Z
            pop
         2: .line 111
            goto 5
         3: .line 112
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.d:()Z
            ifeq 5
         4: .line 113
            goto 12
         5: .line 111
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.c:()Z
            ifne 3
         6: .line 116
            iload 0 /* a */
            iconst_2
            if_icmpeq 9
         7: .line 117
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.a:()Z
            pop
         8: .line 118
            new java.lang.Exception
            dup
            invokespecial java.lang.Exception.<init>:()V
            athrow
         9: .line 109
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            ifne 1
        10: .line 121
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: pop
        12: .line 107
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            ifne 9
        13: .line 124
            return
        end local 0 // int a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0     a  I
      Exception table:
        from    to  target  type
           1    10      11  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      a     

  private static native boolean a();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native boolean b();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native boolean c();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native boolean d();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static org.graalvm.compiler.nodes.Invoke getInvoke(java.lang.String, org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/Invoke;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.String name
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 135
            aload 1 /* graph */
            getstatic org.graalvm.compiler.nodes.java.MethodCallTargetNode.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 4
      StackMap locals: java.lang.String org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
            astore 2 /* callTarget */
        start local 2 // org.graalvm.compiler.nodes.java.MethodCallTargetNode callTarget
         2: .line 136
            aload 2 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            aload 0 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 137
            aload 2 /* callTarget */
            invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.invoke:()Lorg/graalvm/compiler/nodes/Invoke;
            areturn
        end local 2 // org.graalvm.compiler.nodes.java.MethodCallTargetNode callTarget
         4: .line 135
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 140
            aconst_null
            areturn
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        name  Ljava/lang/String;
            0    6     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    4     2  callTarget  Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
    MethodParameters:
       Name  Flags
      name   
      graph  

  private void test(java.lang.String, int, int, int);
    descriptor: (Ljava/lang/String;III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
         0: .line 148
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.core.test.NestedLoopTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/NestedLoopTest;
    MethodParameters:
             Name  Flags
      snippet      
      rootExits    
      nestedExits  
      innerExits   

  private static boolean contains(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.cfg.ControlFlowGraph);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 170
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Z
    MethodParameters:
      Name  Flags
      loop  
      node  
      cfg   

  private static boolean containsDirect(org.graalvm.compiler.core.common.cfg.Loop<org.graalvm.compiler.nodes.cfg.Block>, org.graalvm.compiler.nodes.Invoke, org.graalvm.compiler.nodes.cfg.ControlFlowGraph);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.graalvm.compiler.core.common.cfg.Loop loop
        start local 1 // org.graalvm.compiler.nodes.Invoke node
        start local 2 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
         0: .line 175
            aload 0 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getChildren:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.cfg.ControlFlowGraph top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.core.common.cfg.Loop
            astore 3 /* child */
        start local 3 // org.graalvm.compiler.core.common.cfg.Loop child
         2: .line 176
            aload 3 /* child */
            aload 1 /* node */
            aload 2 /* cfg */
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.contains:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Z
            ifeq 4
         3: .line 177
            iconst_0
            ireturn
        end local 3 // org.graalvm.compiler.core.common.cfg.Loop child
         4: .line 175
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 180
            aload 0 /* loop */
            aload 1 /* node */
            aload 2 /* cfg */
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.contains:(Lorg/graalvm/compiler/core/common/cfg/Loop;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Z
            ireturn
        end local 2 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 1 // org.graalvm.compiler.nodes.Invoke node
        end local 0 // org.graalvm.compiler.core.common.cfg.Loop loop
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            0    6     1   node  Lorg/graalvm/compiler/nodes/Invoke;
            0    6     2    cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            2    4     3  child  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;Lorg/graalvm/compiler/nodes/Invoke;Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;)Z
    MethodParameters:
      Name  Flags
      loop  
      node  
      cfg   
}
SourceFile: "NestedLoopTest.java"