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 37
            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 39
            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 44
            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 49
            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 54
            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 61
            goto 5
         1: .line 64
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.d:()Z
            ifeq 3
         2: .line 65
            goto 5
         3: .line 63
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.c:()Z
            ifne 1
         4: .line 62
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.b:()Z
            ifne 3
         5: .line 61
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.a:()Z
            ifne 4
         6: .line 70
            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 74
            goto 7
         1: .line 78
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.d:()Z
            ifeq 3
         2: .line 79
            goto 7
         3: .line 77
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.c:()Z
            ifne 1
         4: .line 76
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.b:()Z
            ifne 3
         5: .line 83
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: pop
         7: .line 74
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.a:()Z
            ifne 4
         8: .line 86
            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 90
            goto 8
         1: .line 94
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.d:()Z
            ifeq 4
         2: .line 95
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.a:()Z
            pop
         3: .line 96
            goto 8
         4: .line 93
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.c:()Z
            ifne 1
         5: .line 92
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.b:()Z
            ifne 4
         6: .line 100
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: pop
         8: .line 90
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            ifeq 5
         9: .line 103
            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 106
            goto 12
         1: .line 109
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.b:()Z
            pop
         2: .line 110
            goto 5
         3: .line 111
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.d:()Z
            ifeq 5
         4: .line 112
            goto 12
         5: .line 110
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.c:()Z
            ifne 3
         6: .line 115
            iload 0 /* a */
            iconst_2
            if_icmpeq 9
         7: .line 116
            invokestatic org.graalvm.compiler.core.test.NestedLoopTest.a:()Z
            pop
         8: .line 117
            new java.lang.Exception
            dup
            invokespecial java.lang.Exception.<init>:()V
            athrow
         9: .line 108
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            ifne 1
        10: .line 120
            goto 12
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: pop
        12: .line 106
      StackMap locals:
      StackMap stack:
            iload 0 /* a */
            ifne 9
        13: .line 123
            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 134
            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 135
            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 136
            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 134
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 139
            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"