public class org.graalvm.compiler.core.test.LoopUnswitchTest 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.LoopUnswitchTest
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 0: aload 0
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/LoopUnswitchTest;
public static int referenceSnippet1(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iload 0
iconst_2
if_icmple 8
2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int int
StackMap stack:
iinc 1 2
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
sipush 1000
if_icmplt 4
end local 2 7: goto 13
8: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 9: goto 12
10: StackMap locals: int
StackMap stack:
iload 1
iload 0
iadd
istore 1
11: iinc 2 1
StackMap locals:
StackMap stack:
12: iload 2
sipush 1000
if_icmplt 10
end local 2 13: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 a I
1 14 1 sum I
3 7 2 i I
9 13 2 i I
MethodParameters:
Name Flags
a
public static int test1Snippet(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 8
3: StackMap locals: int int
StackMap stack:
iload 0
iconst_2
if_icmple 6
4: iinc 1 2
5: goto 7
6: StackMap locals:
StackMap stack:
iload 1
iload 0
iadd
istore 1
7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
sipush 1000
if_icmplt 3
end local 2 9: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 a I
1 10 1 sum I
2 9 2 i I
MethodParameters:
Name Flags
a
public static int referenceSnippet2(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iload 0
lookupswitch { // 3
0: 2
1: 8
55: 15
default: 21
}
2: StackMap locals: int
StackMap stack:
iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: int
StackMap stack:
iload 1
i2l
invokestatic java.lang.System.currentTimeMillis:()J
ladd
l2i
istore 1
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
sipush 1000
if_icmplt 4
end local 2 7: goto 25
8: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 9: goto 13
10: StackMap locals: int
StackMap stack:
iinc 1 1
11: iinc 1 5
12: iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
sipush 1000
if_icmplt 10
end local 2 14: goto 25
15: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 16: goto 19
17: StackMap locals: int
StackMap stack:
iinc 1 5
18: iinc 2 1
StackMap locals:
StackMap stack:
19: iload 2
sipush 1000
if_icmplt 17
end local 2 20: goto 25
21: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 22: goto 24
StackMap locals: int
StackMap stack:
23: iinc 2 1
StackMap locals:
StackMap stack:
24: iload 2
sipush 1000
if_icmplt 23
end local 2 25: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 a I
1 26 1 sum I
3 7 2 i I
9 14 2 i I
16 20 2 i I
22 25 2 i I
MethodParameters:
Name Flags
a
public static int test2Snippet(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 10
3: StackMap locals: int int
StackMap stack:
iload 0
lookupswitch { // 3
0: 4
1: 6
55: 7
default: 9
}
4: StackMap locals:
StackMap stack:
iload 1
i2l
invokestatic java.lang.System.currentTimeMillis:()J
ladd
l2i
istore 1
5: goto 9
6: StackMap locals:
StackMap stack:
iinc 1 1
7: StackMap locals:
StackMap stack:
iinc 1 5
8: goto 9
9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
sipush 1000
if_icmplt 3
end local 2 11: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 a I
1 12 1 sum I
2 11 2 i I
MethodParameters:
Name Flags
a
public void test1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: 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 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/LoopUnswitchTest;
RuntimeInvisibleAnnotations:
Test()
public void test2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: 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 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/test/LoopUnswitchTest;
RuntimeInvisibleAnnotations:
Test()
private void test(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.core.test.LoopUnswitchTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 0
aload 2
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.core.test.LoopUnswitchTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 2: new org.graalvm.compiler.loop.phases.LoopUnswitchingPhase
dup
new org.graalvm.compiler.loop.DefaultLoopPolicies
dup
invokespecial org.graalvm.compiler.loop.DefaultLoopPolicies.<init>:()V
invokespecial org.graalvm.compiler.loop.phases.LoopUnswitchingPhase.<init>:(Lorg/graalvm/compiler/loop/LoopPolicies;)V
aload 3
invokevirtual org.graalvm.compiler.loop.phases.LoopUnswitchingPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
3: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.clearAllStateAfter:()V
4: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.clearAllStateAfter:()V
5: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 3
new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 0
invokevirtual org.graalvm.compiler.core.test.LoopUnswitchTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
6: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 4
new org.graalvm.compiler.phases.tiers.PhaseContext
dup
aload 0
invokevirtual org.graalvm.compiler.core.test.LoopUnswitchTest.getProviders:()Lorg/graalvm/compiler/phases/util/Providers;
invokespecial org.graalvm.compiler.phases.tiers.PhaseContext.<init>:(Lorg/graalvm/compiler/phases/util/Providers;)V
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
7: aconst_null
astore 5
aconst_null
astore 6
8: ldc "Test"
new org.graalvm.compiler.debug.DebugDumpScope
dup
new java.lang.StringBuilder
dup
ldc "Test:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.graalvm.compiler.debug.DebugDumpScope.<init>:(Ljava/lang/String;)V
invokestatic org.graalvm.compiler.debug.Debug.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/Debug$Scope;
astore 7
start local 7 9: aload 0
aload 4
aload 3
invokevirtual org.graalvm.compiler.core.test.LoopUnswitchTest.assertEquals:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
10: aload 7
ifnull 18
aload 7
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
goto 18
StackMap locals: org.graalvm.compiler.core.test.LoopUnswitchTest java.lang.String java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.Debug$Scope
StackMap stack: java.lang.Throwable
11: astore 5
aload 7
ifnull 12
aload 7
invokeinterface org.graalvm.compiler.debug.Debug$Scope.close:()V
end local 7 StackMap locals:
StackMap stack:
12: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 6
aload 5
ifnonnull 14
aload 6
astore 5
goto 15
StackMap locals:
StackMap stack:
14: aload 5
aload 6
if_acmpeq 15
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 5
athrow
StackMap locals: org.graalvm.compiler.core.test.LoopUnswitchTest java.lang.String java.lang.String org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
16: astore 5
start local 5 17: aload 5
invokestatic org.graalvm.compiler.debug.Debug.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 5 18: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/core/test/LoopUnswitchTest;
0 19 1 snippet Ljava/lang/String;
0 19 2 referenceSnippet Ljava/lang/String;
1 19 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 19 4 referenceGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
9 12 7 s Lorg/graalvm/compiler/debug/Debug$Scope;
17 18 5 e Ljava/lang/Throwable;
Exception table:
from to target type
9 10 11 any
8 13 13 any
7 16 16 Class java.lang.Throwable
MethodParameters:
Name Flags
snippet
referenceSnippet
}
SourceFile: "LoopUnswitchTest.java"
InnerClasses:
public abstract Scope = org.graalvm.compiler.debug.Debug$Scope of org.graalvm.compiler.debug.Debug
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph