public class org.graalvm.compiler.core.test.ReentrantBlockIteratorTest 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.ReentrantBlockIteratorTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
public static int IntSideEffect;
descriptor: I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
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/ReentrantBlockIteratorTest;
public static int oneBlock();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static int fourBlock(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifle 3
1: iload 0
putstatic org.graalvm.compiler.core.test.ReentrantBlockIteratorTest.IntSideEffect:I
2: goto 4
3: StackMap locals:
StackMap stack:
iconst_0
putstatic org.graalvm.compiler.core.test.ReentrantBlockIteratorTest.IntSideEffect:I
4: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.api.directives.GraalDirectives.controlFlowAnchor:()V
5: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 a I
MethodParameters:
Name Flags
a
public static int loopBlocks(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 5
3: StackMap locals: int int
StackMap stack:
iload 1
iload 2
iadd
istore 1
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 0
if_icmplt 3
end local 2 6: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 a I
1 7 1 phi I
2 6 2 i I
MethodParameters:
Name Flags
a
public static int loopBlocks2(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 5
3: StackMap locals: int int
StackMap stack:
iload 1
iload 2
iadd
istore 1
4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 0
if_icmplt 3
end local 2 6: iconst_0
istore 2
start local 2 7: goto 10
8: StackMap locals:
StackMap stack:
iload 1
iload 2
iadd
istore 1
9: iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
iload 0
if_icmplt 8
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 phi I
2 6 2 i I
7 11 2 i I
MethodParameters:
Name Flags
a
public static int loopBlocks3(char[], int, int, char[], int, int, int);
descriptor: ([CII[CIII)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=13, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: iload 6
iload 2
if_icmplt 4
1: iload 5
ifne 2
iload 2
goto 3
StackMap locals:
StackMap stack:
2: iconst_m1
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
iload 6
ifge 6
5: iconst_0
istore 6
6: StackMap locals:
StackMap stack:
iload 5
ifne 8
7: iload 6
ireturn
8: StackMap locals:
StackMap stack:
aload 3
iload 4
caload
istore 7
start local 7 9: iload 1
iload 2
iload 5
isub
iadd
istore 8
start local 8 10: iload 1
iload 6
iadd
istore 9
start local 9 11: goto 24
12: StackMap locals: int int int
StackMap stack:
aload 0
iload 9
caload
iload 7
if_icmpeq 14
13: StackMap locals:
StackMap stack:
iinc 9 1
iload 9
iload 8
if_icmpgt 14
aload 0
iload 9
caload
iload 7
if_icmpne 13
14: StackMap locals:
StackMap stack:
iload 9
iload 8
if_icmpgt 23
15: iload 9
iconst_1
iadd
istore 10
start local 10 16: iload 10
iload 5
iadd
iconst_1
isub
istore 11
start local 11 17: iload 4
iconst_1
iadd
istore 12
start local 12 18: goto 20
StackMap locals: int int int
StackMap stack:
19: iinc 10 1
iinc 12 1
StackMap locals:
StackMap stack:
20: iload 10
iload 11
if_icmpge 21
aload 0
iload 10
caload
aload 3
iload 12
caload
if_icmpeq 19
end local 12 21: StackMap locals:
StackMap stack:
iload 10
iload 11
if_icmpne 23
22: iload 9
iload 1
isub
ireturn
end local 11 end local 10 23: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
24: iload 9
iload 8
if_icmple 12
end local 9 25: iconst_m1
ireturn
end local 8 end local 7 end local 6 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 26 0 source [C
0 26 1 sourceOffset I
0 26 2 sourceCount I
0 26 3 target [C
0 26 4 targetOffset I
0 26 5 targetCount I
0 26 6 fromIndex I
9 26 7 first C
10 26 8 max I
11 25 9 i I
16 23 10 j I
17 23 11 end I
18 21 12 k I
MethodParameters:
Name Flags
source
sourceOffset
sourceCount
target
targetOffset
targetCount
fromIndex
public static int loopBlocks4(int, int, int);
descriptor: (III)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: goto 17
3: StackMap locals: int int
StackMap stack:
iconst_0
istore 5
start local 5 4: goto 13
5: StackMap locals: int
StackMap stack:
iconst_0
istore 6
start local 6 6: goto 11
7: StackMap locals: int
StackMap stack:
iload 3
iload 4
iload 5
imul
iload 6
imul
iadd
istore 3
8: iload 3
iconst_5
if_icmpne 10
9: goto 14
10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 2
if_icmplt 7
end local 6 12: iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 1
if_icmplt 5
end local 5 14: StackMap locals:
StackMap stack:
iload 3
bipush 100
if_icmple 16
15: goto 18
16: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
iload 0
if_icmplt 3
end local 4 18: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 a I
0 19 1 c I
0 19 2 d I
1 19 3 phi I
2 18 4 i I
4 14 5 k I
6 12 6 l I
MethodParameters:
Name Flags
a
c
d
public void test01();
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/ReentrantBlockIteratorTest;
RuntimeInvisibleAnnotations:
Test()
public void test02();
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/ReentrantBlockIteratorTest;
RuntimeInvisibleAnnotations:
Test()
public void test03();
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/ReentrantBlockIteratorTest;
RuntimeInvisibleAnnotations:
Test()
public void test04();
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/ReentrantBlockIteratorTest;
RuntimeInvisibleAnnotations:
Test()
public void test05();
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/ReentrantBlockIteratorTest;
RuntimeInvisibleAnnotations:
Test()
public void test06();
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/ReentrantBlockIteratorTest;
RuntimeInvisibleAnnotations:
Test()
private static void assertOrder(java.util.List<org.graalvm.compiler.nodes.cfg.Block>, );
descriptor: (Ljava/util/List;[I)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Signature: (Ljava/util/List<Lorg/graalvm/compiler/nodes/cfg/Block;>;[I)V
MethodParameters:
Name Flags
blocks
ids
private static void assertVisited(java.util.List<org.graalvm.compiler.nodes.cfg.Block>, );
descriptor: (Ljava/util/List;[I)V
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Signature: (Ljava/util/List<Lorg/graalvm/compiler/nodes/cfg/Block;>;[I)V
MethodParameters:
Name Flags
blocks
ids
private java.util.List<org.graalvm.compiler.nodes.cfg.Block> getVisitedBlocksInOrder(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokevirtual org.graalvm.compiler.core.test.ReentrantBlockIteratorTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 2
getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.AFTER_FSA:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.setGuardsStage:(Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;)V
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 3: new org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState
dup
aload 0
invokespecial org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState.<init>:(Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest;)V
astore 4
start local 4 4: new org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1
dup
aload 0
aload 4
aload 3
invokespecial org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1.<init>:(Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest;Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;Ljava/util/ArrayList;)V
astore 5
start local 5 5: aload 2
iconst_1
iconst_1
iconst_1
iconst_0
invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.compute:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZZZ)Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
astore 6
start local 6 6: aload 5
aload 6
invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.getStartBlock:()Lorg/graalvm/compiler/nodes/cfg/Block;
invokestatic org.graalvm.compiler.phases.graph.ReentrantBlockIterator.apply:(Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure;Lorg/graalvm/compiler/nodes/cfg/Block;)V
7: new org.graalvm.compiler.phases.schedule.SchedulePhase
dup
invokespecial org.graalvm.compiler.phases.schedule.SchedulePhase.<init>:()V
aload 2
invokevirtual org.graalvm.compiler.phases.schedule.SchedulePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
8: aload 3
areturn
end local 6 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 9 0 this Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest;
0 9 1 snippet Ljava/lang/String;
1 9 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 9 3 blocks Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/cfg/Block;>;
4 9 4 voidState Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;
5 9 5 closure Lorg/graalvm/compiler/phases/graph/ReentrantBlockIterator$BlockIteratorClosure<Lorg/graalvm/compiler/core/test/ReentrantBlockIteratorTest$1VoidState;>;
6 9 6 cfg Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
Signature: (Ljava/lang/String;)Ljava/util/List<Lorg/graalvm/compiler/nodes/cfg/Block;>;
MethodParameters:
Name Flags
snippet
}
SourceFile: "ReentrantBlockIteratorTest.java"
NestMembers:
org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1 org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState
InnerClasses:
org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1
VoidState = org.graalvm.compiler.core.test.ReentrantBlockIteratorTest$1VoidState
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public abstract BlockIteratorClosure = org.graalvm.compiler.phases.graph.ReentrantBlockIterator$BlockIteratorClosure of org.graalvm.compiler.phases.graph.ReentrantBlockIterator