public class org.graalvm.compiler.core.test.LoopFullUnrollTest 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.LoopFullUnrollTest
  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.LoopFullUnrollTest 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.LoopFullUnrollTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LoopFullUnrollTest;

  public static int testMinToMax(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // int input
         0: .line 41
            iconst_2
            istore 1 /* ret */
        start local 1 // int ret
         1: .line 42
            iload 0 /* input */
            istore 2 /* current */
        start local 2 // int current
         2: .line 43
            ldc -9223372036854775808
            lstore 3 /* i */
        start local 3 // long i
         3: goto 7
         4: .line 44
      StackMap locals: int int long
      StackMap stack:
            iload 1 /* ret */
            iconst_2
            iload 2 /* current */
            iadd
            imul
            istore 1 /* ret */
         5: .line 45
            iload 2 /* current */
            bipush 50
            idiv
            istore 2 /* current */
         6: .line 43
            lload 3 /* i */
            lconst_1
            ladd
            lstore 3 /* i */
      StackMap locals:
      StackMap stack:
         7: lload 3 /* i */
            ldc 9223372036854775807
            lcmp
            iflt 4
        end local 3 // long i
         8: .line 47
            iload 1 /* ret */
            ireturn
        end local 2 // int current
        end local 1 // int ret
        end local 0 // int input
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0    input  I
            1    9     1      ret  I
            2    9     2  current  I
            3    8     3        i  J
    MethodParameters:
       Name  Flags
      input  

  public void runMinToMax();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LoopFullUnrollTest 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.LoopFullUnrollTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LoopFullUnrollTest;
    Exceptions:
      throws java.lang.Throwable
    RuntimeInvisibleAnnotations: 
      Test()

  public static int testMinTo0(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // int input
         0: .line 56
            iconst_2
            istore 1 /* ret */
        start local 1 // int ret
         1: .line 57
            iload 0 /* input */
            istore 2 /* current */
        start local 2 // int current
         2: .line 58
            ldc -9223372036854775808
            lstore 3 /* i */
        start local 3 // long i
         3: goto 7
         4: .line 59
      StackMap locals: int int long
      StackMap stack:
            iload 1 /* ret */
            iconst_2
            iload 2 /* current */
            iadd
            imul
            istore 1 /* ret */
         5: .line 60
            iload 2 /* current */
            bipush 50
            idiv
            istore 2 /* current */
         6: .line 58
            lload 3 /* i */
            lconst_1
            ladd
            lstore 3 /* i */
      StackMap locals:
      StackMap stack:
         7: lload 3 /* i */
            lconst_0
            lcmp
            ifle 4
        end local 3 // long i
         8: .line 62
            iload 1 /* ret */
            ireturn
        end local 2 // int current
        end local 1 // int ret
        end local 0 // int input
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0    input  I
            1    9     1      ret  I
            2    9     2  current  I
            3    8     3        i  J
    MethodParameters:
       Name  Flags
      input  

  public void runMinTo0();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LoopFullUnrollTest this
         0: .line 65
            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.LoopFullUnrollTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LoopFullUnrollTest;
    Exceptions:
      throws java.lang.Throwable
    RuntimeInvisibleAnnotations: 
      Test()

  public static int testNegativeTripCount(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // int input
         0: .line 71
            iconst_2
            istore 1 /* ret */
        start local 1 // int ret
         1: .line 72
            iload 0 /* input */
            istore 2 /* current */
        start local 2 // int current
         2: .line 73
            lconst_0
            lstore 3 /* i */
        start local 3 // long i
         3: goto 7
         4: .line 74
      StackMap locals: int int long
      StackMap stack:
            iload 1 /* ret */
            iconst_2
            iload 2 /* current */
            iadd
            imul
            istore 1 /* ret */
         5: .line 75
            iload 2 /* current */
            bipush 50
            idiv
            istore 2 /* current */
         6: .line 73
            lload 3 /* i */
            lconst_1
            ladd
            lstore 3 /* i */
      StackMap locals:
      StackMap stack:
         7: lload 3 /* i */
            ldc -20
            lcmp
            ifle 4
        end local 3 // long i
         8: .line 77
            iload 1 /* ret */
            ireturn
        end local 2 // int current
        end local 1 // int ret
        end local 0 // int input
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0    input  I
            1    9     1      ret  I
            2    9     2  current  I
            3    8     3        i  J
    MethodParameters:
       Name  Flags
      input  

  public void runNegativeTripCount();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.core.test.LoopFullUnrollTest this
         0: .line 80
            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.LoopFullUnrollTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/core/test/LoopFullUnrollTest;
    Exceptions:
      throws java.lang.Throwable
    RuntimeInvisibleAnnotations: 
      Test()

  private void test(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.core.test.LoopFullUnrollTest this
        start local 1 // java.lang.String snippet
        start local 2 // int loopCount
         0: .line 87
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.test.LoopFullUnrollTest.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 3 /* debug */
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 88
            aconst_null
            astore 4
            aconst_null
            astore 5
         2: aload 3 /* debug */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            new org.graalvm.compiler.debug.DebugDumpScope
            dup
            aload 1 /* snippet */
            invokespecial org.graalvm.compiler.debug.DebugDumpScope.<init>:(Ljava/lang/String;)V
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 6 /* s */
        start local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
         3: .line 89
            aload 0 /* this */
            aload 1 /* snippet */
            getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
            aload 3 /* debug */
            invokevirtual org.graalvm.compiler.core.test.LoopFullUnrollTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 7 /* graph */
        start local 7 // org.graalvm.compiler.nodes.StructuredGraph graph
         4: .line 91
            new org.graalvm.compiler.phases.tiers.PhaseContext
            dup
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.core.test.LoopFullUnrollTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
            invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
            astore 8 /* context */
        start local 8 // org.graalvm.compiler.phases.tiers.PhaseContext context
         5: .line 92
            new org.graalvm.compiler.loop.phases.LoopFullUnrollPhase
            dup
            new org.graalvm.compiler.phases.common.CanonicalizerPhase
            dup
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
            new org.graalvm.compiler.loop.DefaultLoopPolicies
            dup
            invokespecial org.graalvm.compiler.loop.DefaultLoopPolicies.<init>:()V
            invokespecial org.graalvm.compiler.loop.phases.LoopFullUnrollPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/loop/LoopPolicies;)V
            aload 7 /* graph */
            aload 8 /* context */
            invokevirtual org.graalvm.compiler.loop.phases.LoopFullUnrollPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
         6: .line 94
            aload 7 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/LoopBeginNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            iload 2 /* loopCount */
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals: org.graalvm.compiler.core.test.LoopFullUnrollTest java.lang.String int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.PhaseContext
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: invokestatic org.graalvm.compiler.core.test.LoopFullUnrollTest.assertTrue:(Z)V
        end local 8 // org.graalvm.compiler.phases.tiers.PhaseContext context
        end local 7 // org.graalvm.compiler.nodes.StructuredGraph graph
         9: .line 95
            aload 6 /* s */
            ifnull 17
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 17
      StackMap locals: org.graalvm.compiler.core.test.LoopFullUnrollTest java.lang.String int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        10: astore 4
            aload 6 /* s */
            ifnull 11
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        11: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 5
            aload 4
            ifnonnull 13
            aload 5
            astore 4
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 4
            aload 5
            if_acmpeq 14
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        14: aload 4
            athrow
      StackMap locals: org.graalvm.compiler.core.test.LoopFullUnrollTest java.lang.String int org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        15: astore 4 /* e */
        start local 4 // java.lang.Throwable e
        16: .line 96
            aload 3 /* debug */
            aload 4 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.Throwable e
        17: .line 98
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // int loopCount
        end local 1 // java.lang.String snippet
        end local 0 // org.graalvm.compiler.core.test.LoopFullUnrollTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/graalvm/compiler/core/test/LoopFullUnrollTest;
            0   18     1    snippet  Ljava/lang/String;
            0   18     2  loopCount  I
            1   18     3      debug  Lorg/graalvm/compiler/debug/DebugContext;
            3   11     6          s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            4    9     7      graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            5    9     8    context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
           16   17     4          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     9      10  any
           2    12      12  any
           1    15      15  Class java.lang.Throwable
    MethodParameters:
           Name  Flags
      snippet    
      loopCount  
}
SourceFile: "LoopFullUnrollTest.java"
InnerClasses:
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph