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=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.core.test.LoopUnswitchTest.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
astore 3
start local 3 1: 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 4
start local 4 2: 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 5
start local 5 3: 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 4
invokevirtual org.graalvm.compiler.loop.phases.LoopUnswitchingPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
4: aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.clearAllStateAfter:()V
5: aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.clearAllStateAfter:()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/nodes/spi/CoreProviders;)V
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
7: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 5
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/nodes/spi/CoreProviders;)V
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
8: aconst_null
astore 6
aconst_null
astore 7
9: aload 3
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
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 8
start local 8 10: aload 0
aload 5
aload 4
invokevirtual org.graalvm.compiler.core.test.LoopUnswitchTest.assertEquals:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
11: aload 8
ifnull 19
aload 8
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 19
StackMap locals: org.graalvm.compiler.core.test.LoopUnswitchTest java.lang.String java.lang.String org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
12: astore 6
aload 8
ifnull 13
aload 8
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 8 StackMap locals:
StackMap stack:
13: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 7
aload 6
ifnonnull 15
aload 7
astore 6
goto 16
StackMap locals:
StackMap stack:
15: aload 6
aload 7
if_acmpeq 16
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 6
athrow
StackMap locals: org.graalvm.compiler.core.test.LoopUnswitchTest java.lang.String java.lang.String org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.StructuredGraph
StackMap stack: java.lang.Throwable
17: astore 6
start local 6 18: aload 3
aload 6
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 6 19: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/graalvm/compiler/core/test/LoopUnswitchTest;
0 20 1 snippet Ljava/lang/String;
0 20 2 referenceSnippet Ljava/lang/String;
1 20 3 debug Lorg/graalvm/compiler/debug/DebugContext;
2 20 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 20 5 referenceGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
10 13 8 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
18 19 6 e Ljava/lang/Throwable;
Exception table:
from to target type
10 11 12 any
9 14 14 any
8 17 17 Class java.lang.Throwable
MethodParameters:
Name Flags
snippet
referenceSnippet
}
SourceFile: "LoopUnswitchTest.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