public class org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest extends org.graalvm.compiler.truffle.test.PartialEvaluationTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest
super_class: org.graalvm.compiler.truffle.test.PartialEvaluationTest
{
public static boolean TRACE;
descriptor: Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: iconst_0
putstatic org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.TRACE:Z
return
LocalVariableTable:
Start End Slot Name Signature
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.truffle.test.PartialEvaluationTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
static int nonExplodedLoop(int);
descriptor: (I)I
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iload 0
iflt 24
iload 0
bipush 50
if_icmpge 24
1: iconst_0
istore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 8
4: StackMap locals: int int
StackMap stack:
iinc 1 1
5: iload 1
bipush 100
if_icmple 7
6: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
iload 0
if_icmplt 4
end local 2 9: iload 1
bipush 100
if_icmple 23
10: invokestatic org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.boundary:()V
11: invokestatic org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.boundary:()V
12: goto 23
StackMap locals: int int
StackMap stack: com.oracle.truffle.api.nodes.ControlFlowException
13: pop
14: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
goto 23
15: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 2
start local 2 16: iconst_0
istore 3
start local 3 17: goto 21
18: StackMap locals: java.lang.RuntimeException int
StackMap stack:
iload 3
bipush 42
if_icmpne 20
19: aload 2
athrow
20: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
21: iload 3
iload 1
if_icmplt 18
end local 3 22: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
end local 2 23: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 24: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 x I
2 24 1 result I
3 9 2 i I
16 23 2 ex Ljava/lang/RuntimeException;
17 22 3 i I
Exception table:
from to target type
10 12 13 Class com.oracle.truffle.api.nodes.ControlFlowException
10 12 15 Class java.lang.RuntimeException
MethodParameters:
Name Flags
x
static void boundary();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: return
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(transferToInterpreterOnException = false)
public static java.lang.Object constant42();
descriptor: ()Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void assertReturns42(com.oracle.truffle.api.nodes.RootNode);
descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 0
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.RootCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 1: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 program Lcom/oracle/truffle/api/nodes/RootNode;
1 3 1 result Ljava/lang/Object;
MethodParameters:
Name Flags
program
private void assertPartialEvalEqualsAndRunsCorrect(com.oracle.truffle.api.nodes.RootNode);
descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertReturns42:(Lcom/oracle/truffle/api/nodes/RootNode;)V
1: aload 0
ldc "constant42"
aload 1
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEquals:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/RootNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
0 3 1 program Lcom/oracle/truffle/api/nodes/RootNode;
MethodParameters:
Name Flags
program
public void constReturnProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: iconst_3
newarray 8
dup
iconst_1
1: bipush 42
bastore
dup
iconst_2
2: iconst_1
bastore
3: astore 1
start local 1 4: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "constReturnProgram"
aload 1
iconst_0
iconst_2
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
4 6 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void constAddProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 6
newarray 8
dup
iconst_1
1: bipush 40
bastore
dup
iconst_3
2: iconst_2
bastore
dup
iconst_4
3: iconst_2
bastore
dup
iconst_5
4: iconst_1
bastore
5: astore 1
start local 1 6: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "constAddProgram"
aload 1
iconst_0
iconst_2
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
6 8 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void simpleIfProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 9
newarray 8
dup
iconst_1
1: bipush 40
bastore
dup
iconst_3
2: iconst_1
bastore
dup
iconst_4
3: iconst_3
bastore
dup
iconst_5
4: bipush 8
bastore
dup
bipush 7
5: bipush 42
bastore
dup
bipush 8
6: iconst_1
bastore
7: astore 1
start local 1 8: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "simpleIfProgram"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
8 10 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void ifAndPopProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 10
newarray 8
dup
iconst_1
1: bipush 40
bastore
dup
iconst_3
2: iconst_1
bastore
dup
iconst_4
3: iconst_3
bastore
dup
iconst_5
4: bipush 9
bastore
dup
bipush 6
5: iconst_4
bastore
dup
bipush 8
6: bipush 42
bastore
dup
bipush 9
7: iconst_1
bastore
8: astore 1
start local 1 9: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "ifAndPopProgram"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
9 11 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void simpleLoopProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 14
newarray 8
dup
iconst_1
1: bipush 42
bastore
dup
iconst_3
2: bipush -12
bastore
dup
iconst_5
3: iconst_1
bastore
dup
bipush 6
4: iconst_2
bastore
dup
bipush 7
5: bipush 6
bastore
dup
bipush 8
6: iconst_3
bastore
dup
bipush 9
7: bipush 12
bastore
dup
bipush 10
8: iconst_5
bastore
dup
bipush 11
9: iconst_4
bastore
dup
bipush 12
10: iconst_4
bastore
dup
bipush 13
11: iconst_1
bastore
12: astore 1
start local 1 13: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "simpleLoopProgram"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
13 15 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void nestedLoopsProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 25
newarray 8
dup
iconst_1
1: bipush 42
bastore
dup
iconst_3
2: bipush -2
bastore
dup
iconst_5
3: iconst_1
bastore
dup
bipush 6
4: iconst_2
bastore
dup
bipush 7
5: bipush 6
bastore
dup
bipush 9
6: bipush -2
bastore
dup
bipush 11
7: iconst_1
bastore
dup
bipush 12
8: iconst_2
bastore
dup
bipush 13
9: bipush 6
bastore
dup
bipush 14
10: iconst_3
bastore
dup
bipush 15
11: bipush 18
bastore
dup
bipush 16
12: iconst_5
bastore
dup
bipush 17
13: bipush 10
bastore
dup
bipush 18
14: iconst_4
bastore
dup
bipush 19
15: iconst_3
bastore
dup
bipush 20
16: bipush 23
bastore
dup
bipush 21
17: iconst_5
bastore
dup
bipush 22
18: iconst_4
bastore
dup
bipush 23
19: iconst_4
bastore
dup
bipush 24
20: iconst_1
bastore
21: astore 1
start local 1 22: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "nestedLoopsProgram"
aload 1
iconst_0
bipush 6
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
23: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
22 24 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void nestedLoopsProgram2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 32
newarray 8
dup
iconst_1
1: bipush 42
bastore
dup
iconst_3
2: bipush -2
bastore
dup
iconst_5
3: iconst_1
bastore
dup
bipush 6
4: iconst_2
bastore
dup
bipush 7
5: bipush 6
bastore
dup
bipush 9
6: bipush -2
bastore
dup
bipush 12
7: iconst_3
bastore
dup
bipush 13
8: bipush 17
bastore
dup
bipush 14
9: iconst_4
bastore
dup
bipush 15
10: iconst_5
bastore
dup
bipush 16
11: bipush 30
bastore
dup
bipush 18
12: iconst_1
bastore
dup
bipush 19
13: iconst_2
bastore
dup
bipush 20
14: bipush 6
bastore
dup
bipush 21
15: iconst_3
bastore
dup
bipush 22
16: bipush 25
bastore
dup
bipush 23
17: iconst_5
bastore
dup
bipush 24
18: bipush 10
bastore
dup
bipush 25
19: iconst_4
bastore
dup
bipush 26
20: iconst_3
bastore
dup
bipush 27
21: bipush 30
bastore
dup
bipush 28
22: iconst_5
bastore
dup
bipush 29
23: iconst_4
bastore
dup
bipush 30
24: iconst_4
bastore
dup
bipush 31
25: iconst_1
bastore
26: astore 1
start local 1 27: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "nestedLoopsProgram2"
aload 1
iconst_0
bipush 6
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
28: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
27 29 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void nestedLoopsProgram3();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 24
newarray 8
dup
iconst_1
1: bipush 42
bastore
dup
iconst_3
2: bipush -2
bastore
dup
iconst_4
3: bipush 6
bastore
dup
iconst_5
4: iconst_4
bastore
dup
bipush 6
5: bipush 6
bastore
dup
bipush 7
6: iconst_3
bastore
dup
bipush 8
7: bipush 22
bastore
dup
bipush 10
8: iconst_1
bastore
dup
bipush 11
9: iconst_2
bastore
dup
bipush 13
10: bipush -2
bastore
dup
bipush 14
11: bipush 6
bastore
dup
bipush 15
12: iconst_3
bastore
dup
bipush 16
13: iconst_5
bastore
dup
bipush 18
14: iconst_1
bastore
dup
bipush 19
15: iconst_2
bastore
dup
bipush 20
16: iconst_5
bastore
dup
bipush 21
17: bipush 14
bastore
dup
bipush 22
18: iconst_4
bastore
dup
bipush 23
19: iconst_1
bastore
20: astore 1
start local 1 21: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "nestedLoopsProgram"
aload 1
iconst_0
bipush 8
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
22: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
21 23 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void irreducibleLoop01();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 14
newarray 8
dup
iconst_2
1: iconst_3
bastore
dup
iconst_3
2: bipush 7
bastore
dup
iconst_5
3: iconst_1
bastore
dup
bipush 6
4: iconst_4
bastore
dup
bipush 8
5: iconst_1
bastore
dup
bipush 9
6: iconst_3
bastore
dup
bipush 10
7: iconst_4
bastore
dup
bipush 12
8: bipush 42
bastore
dup
bipush 13
9: iconst_1
bastore
10: astore 1
start local 1 11: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "irreducibleLoop01"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
11 13 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void irreducibleLoop02();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 18
newarray 8
dup
iconst_2
1: iconst_3
bastore
dup
iconst_3
2: bipush 7
bastore
dup
iconst_5
3: iconst_1
bastore
dup
bipush 6
4: iconst_4
bastore
dup
bipush 8
5: iconst_1
bastore
dup
bipush 9
6: iconst_3
bastore
dup
bipush 10
7: iconst_4
bastore
dup
bipush 12
8: iconst_1
bastore
dup
bipush 13
9: iconst_3
bastore
dup
bipush 16
10: bipush 42
bastore
dup
bipush 17
11: iconst_1
bastore
12: astore 1
start local 1 13: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "irreducibleLoop02"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
14: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
13 15 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void irreducibleLoop03();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 25
newarray 8
dup
iconst_1
1: iconst_1
bastore
dup
iconst_2
2: iconst_4
bastore
dup
iconst_5
3: iconst_3
bastore
dup
bipush 6
4: bipush 10
bastore
dup
bipush 8
5: iconst_1
bastore
dup
bipush 9
6: iconst_4
bastore
dup
bipush 11
7: iconst_1
bastore
dup
bipush 12
8: iconst_3
bastore
dup
bipush 13
9: bipush 7
bastore
dup
bipush 15
10: iconst_1
bastore
dup
bipush 16
11: iconst_3
bastore
dup
bipush 17
12: iconst_3
bastore
dup
bipush 19
13: iconst_1
bastore
dup
bipush 20
14: iconst_3
bastore
dup
bipush 21
15: bipush 18
bastore
dup
bipush 23
16: bipush 42
bastore
dup
bipush 24
17: iconst_1
bastore
18: astore 1
start local 1 19: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "irreducibleLoop03"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
20: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
19 21 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void irreducibleLoop04();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: bipush 22
newarray 8
dup
iconst_2
1: iconst_3
bastore
dup
iconst_3
2: bipush 7
bastore
dup
iconst_5
3: iconst_1
bastore
dup
bipush 6
4: iconst_4
bastore
dup
bipush 8
5: iconst_1
bastore
dup
bipush 9
6: iconst_3
bastore
dup
bipush 10
7: bipush 7
bastore
dup
bipush 12
8: iconst_1
bastore
dup
bipush 13
9: iconst_3
bastore
dup
bipush 14
10: iconst_4
bastore
dup
bipush 16
11: iconst_1
bastore
dup
bipush 17
12: iconst_3
bastore
dup
bipush 18
13: bipush 15
bastore
dup
bipush 20
14: bipush 42
bastore
dup
bipush 21
15: iconst_1
bastore
16: astore 1
start local 1 17: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "irreducibleLoop04"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
17 19 1 bytecodes [B
RuntimeVisibleAnnotations:
org.junit.Test()
public void manyIfsProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=21, args_size=1
start local 0 0: bipush 45
newarray 8
dup
iconst_1
1: bipush 40
bastore
dup
iconst_3
2: iconst_1
bastore
dup
iconst_4
3: iconst_3
bastore
dup
iconst_5
4: bipush 8
bastore
dup
bipush 7
5: iconst_1
bastore
dup
bipush 8
6: iconst_3
bastore
dup
bipush 9
7: bipush 12
bastore
dup
bipush 11
8: iconst_1
bastore
dup
bipush 12
9: iconst_3
bastore
dup
bipush 13
10: bipush 16
bastore
dup
bipush 15
11: iconst_1
bastore
dup
bipush 16
12: iconst_3
bastore
dup
bipush 17
13: bipush 20
bastore
dup
bipush 19
14: iconst_1
bastore
dup
bipush 20
15: iconst_3
bastore
dup
bipush 21
16: bipush 24
bastore
dup
bipush 23
17: iconst_1
bastore
dup
bipush 24
18: iconst_3
bastore
dup
bipush 25
19: bipush 28
bastore
dup
bipush 27
20: iconst_1
bastore
dup
bipush 28
21: iconst_3
bastore
dup
bipush 29
22: bipush 32
bastore
dup
bipush 31
23: iconst_1
bastore
dup
bipush 32
24: iconst_3
bastore
dup
bipush 33
25: bipush 36
bastore
dup
bipush 35
26: iconst_1
bastore
dup
bipush 36
27: iconst_3
bastore
dup
bipush 37
28: bipush 40
bastore
dup
bipush 39
29: iconst_1
bastore
dup
bipush 40
30: iconst_3
bastore
dup
bipush 41
31: bipush 44
bastore
dup
bipush 43
32: bipush 42
bastore
dup
bipush 44
33: iconst_1
bastore
34: astore 1
start local 1 35: iconst_5
newarray 11
astore 2
start local 2 36: aload 2
arraylength
anewarray java.lang.String
astore 3
start local 3 37: iconst_0
istore 4
start local 4 38: goto 61
39: StackMap locals: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest byte[] long[] java.lang.String[] int
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 5
start local 5 40: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "manyIfsProgram"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
41: invokestatic java.lang.System.currentTimeMillis:()J
lload 5
lsub
lstore 7
start local 7 42: aload 2
iload 4
lload 7
lastore
43: aload 0
getfield org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.lastDebug:Lorg/graalvm/compiler/debug/DebugContext;
invokevirtual org.graalvm.compiler.debug.DebugContext.getMetricsSnapshot:()Ljava/util/Map;
astore 9
start local 9 44: new java.util.ArrayList
dup
aload 9
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 10
start local 10 45: aload 10
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
org/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest.lambda$0(Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I (6)
(Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
46: iconst_0
istore 11
start local 11 47: new java.util.Formatter
dup
invokespecial java.util.Formatter.<init>:()V
astore 12
start local 12 48: aload 10
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 14
goto 58
StackMap locals: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest byte[] long[] java.lang.String[] int long long java.util.Map java.util.List int java.util.Formatter top java.util.Iterator
StackMap stack:
49: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 13
start local 13 50: iload 11
iinc 11 1
bipush 20
if_icmple 52
51: goto 59
52: StackMap locals: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest byte[] long[] java.lang.String[] int long long java.util.Map java.util.List int java.util.Formatter java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.graalvm.compiler.debug.MetricKey
astore 15
start local 15 53: aload 15
instanceof org.graalvm.compiler.debug.TimerKey
ifeq 58
54: aload 15
checkcast org.graalvm.compiler.debug.TimerKey
astore 16
start local 16 55: aload 13
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 17
start local 17 56: aload 16
invokeinterface org.graalvm.compiler.debug.TimerKey.getTimeUnit:()Ljava/util/concurrent/TimeUnit;
lload 17
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
lstore 19
start local 19 57: aload 12
ldc " %s ms\t%s%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 19
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 15
invokeinterface org.graalvm.compiler.debug.MetricKey.getName:()Ljava/lang/String;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
end local 19 end local 17 end local 16 end local 15 end local 13 58: StackMap locals: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest byte[] long[] java.lang.String[] int long long java.util.Map java.util.List int java.util.Formatter top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 49
59: StackMap locals: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest byte[] long[] java.lang.String[] int long long java.util.Map java.util.List int java.util.Formatter
StackMap stack:
aload 3
iload 4
aload 12
invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
aastore
end local 12 end local 11 end local 10 end local 9 end local 7 end local 5 60: iinc 4 1
StackMap locals: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest byte[] long[] java.lang.String[] int
StackMap stack:
61: iload 4
aload 2
arraylength
if_icmplt 39
end local 4 62: sipush 15000
istore 4
start local 4 63: iconst_0
istore 5
start local 5 64: goto 77
65: StackMap locals: int
StackMap stack:
aload 2
iload 5
laload
iload 4
i2l
lcmp
ifle 76
66: new java.util.Formatter
dup
invokespecial java.util.Formatter.<init>:()V
astore 6
start local 6 67: aload 6
ldc "manyIfsProgram iteration %d took %d ms which is longer than the limit of %d ms%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
iload 5
laload
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
68: aload 6
ldc "%nDetailed info for each iteration%n"
iconst_0
anewarray java.lang.Object
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
69: iconst_0
istore 7
start local 7 70: goto 74
71: StackMap locals: java.util.Formatter int
StackMap stack:
aload 6
ldc "%nIteration %d took %d ms%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
iload 5
laload
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
72: aload 6
ldc "Top phase times in iteration %d:%n%s%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
iload 5
aaload
aastore
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
pop
73: iinc 7 1
StackMap locals:
StackMap stack:
74: iload 7
aload 2
arraylength
if_icmplt 71
end local 7 75: new java.lang.AssertionError
dup
aload 6
invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 6 76: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
77: iload 5
aload 2
arraylength
if_icmplt 65
end local 5 78: lconst_0
lstore 5
start local 5 79: lload 5
iload 4
i2l
lcmp
ifle 81
80: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "manyIfsProgram took "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 5
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " ms which is longer than the limit of "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " ms"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
81: StackMap locals: org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest byte[] long[] java.lang.String[] int long
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 82 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
35 82 1 bytecodes [B
36 82 2 times [J
37 82 3 topPhases [Ljava/lang/String;
38 62 4 i I
40 60 5 start J
42 60 7 duration J
44 60 9 metrics Ljava/util/Map<Lorg/graalvm/compiler/debug/MetricKey;Ljava/lang/Long;>;
45 60 10 entries Ljava/util/List<Ljava/util/Map$Entry<Lorg/graalvm/compiler/debug/MetricKey;Ljava/lang/Long;>;>;
47 60 11 printed I
48 60 12 buf Ljava/util/Formatter;
50 58 13 e Ljava/util/Map$Entry<Lorg/graalvm/compiler/debug/MetricKey;Ljava/lang/Long;>;
53 58 15 key Lorg/graalvm/compiler/debug/MetricKey;
55 58 16 timer Lorg/graalvm/compiler/debug/TimerKey;
56 58 17 value J
57 58 19 ms J
63 82 4 limit I
64 78 5 i I
67 76 6 msg Ljava/util/Formatter;
70 75 7 j I
79 82 5 maxDuration J
RuntimeVisibleAnnotations:
org.junit.Test()
protected org.graalvm.compiler.options.OptionValues getGraalOptions();
descriptor: ()Lorg/graalvm/compiler/options/OptionValues;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=1, args_size=1
start local 0 0: new org.graalvm.compiler.options.OptionValues
dup
aload 0
invokespecial org.graalvm.compiler.truffle.test.PartialEvaluationTest.getGraalOptions:()Lorg/graalvm/compiler/options/OptionValues;
getstatic org.graalvm.compiler.debug.DebugOptions.Count:Lorg/graalvm/compiler/options/OptionKey;
ldc ""
iconst_2
anewarray java.lang.Object
dup
iconst_0
getstatic org.graalvm.compiler.debug.DebugOptions.Time:Lorg/graalvm/compiler/options/OptionKey;
aastore
dup
iconst_1
ldc ""
aastore
invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
public void instArraySimpleIfProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=1
start local 0 0: new com.oracle.truffle.api.frame.FrameDescriptor
dup
invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
astore 1
start local 1 1: aload 1
ldc "value"
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Int:Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/FrameSlotKind;)Lcom/oracle/truffle/api/frame/FrameSlot;
astore 2
start local 2 2: aload 1
ldc "return"
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Int:Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/FrameSlotKind;)Lcom/oracle/truffle/api/frame/FrameSlot;
astore 3
start local 3 3: bipush 6
anewarray org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst
dup
iconst_0
4: new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Const
dup
aload 2
iconst_1
iconst_1
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Const.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;II)V
aastore
dup
iconst_1
5: new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$IfZero
dup
aload 2
iconst_2
iconst_4
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$IfZero.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;II)V
aastore
dup
iconst_2
6: new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Const
dup
aload 3
bipush 41
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Const.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;II)V
aastore
dup
iconst_3
7: new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Return
dup
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Return.<init>:()V
aastore
dup
iconst_4
8: new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Const
dup
aload 3
bipush 42
iconst_5
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Const.<init>:(Lcom/oracle/truffle/api/frame/FrameSlot;II)V
aastore
dup
iconst_5
9: new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Return
dup
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Return.<init>:()V
aastore
10: astore 4
start local 4 11: aload 0
new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram
dup
ldc "instArraySimpleIfProgram"
aload 4
aload 3
aload 1
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram.<init>:(Ljava/lang/String;[Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Inst;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
1 13 1 fd Lcom/oracle/truffle/api/frame/FrameDescriptor;
2 13 2 valueSlot Lcom/oracle/truffle/api/frame/FrameSlot;
3 13 3 returnSlot Lcom/oracle/truffle/api/frame/FrameSlot;
11 13 4 inst [Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Inst;
RuntimeVisibleAnnotations:
org.junit.Test()
public void simpleSwitchProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: bipush 15
newarray 8
dup
iconst_1
1: iconst_1
bastore
dup
iconst_2
2: bipush 7
bastore
dup
iconst_3
3: iconst_2
bastore
dup
iconst_4
4: bipush 9
bastore
dup
iconst_5
5: bipush 12
bastore
dup
bipush 7
6: bipush 40
bastore
dup
bipush 8
7: iconst_1
bastore
dup
bipush 10
8: bipush 41
bastore
dup
bipush 11
9: iconst_1
bastore
dup
bipush 13
10: bipush 42
bastore
dup
bipush 14
11: iconst_1
bastore
12: astore 1
start local 1 13: new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "simpleSwitchProgram"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
astore 2
start local 2 14: aload 0
aload 2
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
13 16 1 bytecodes [B
14 16 2 program Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Program;
RuntimeVisibleAnnotations:
org.junit.Test()
public void loopSwitchProgram();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: bipush 12
newarray 8
dup
iconst_1
1: iconst_1
bastore
dup
iconst_2
2: bipush 7
bastore
dup
iconst_3
3: iconst_2
bastore
dup
iconst_5
4: bipush 9
bastore
dup
bipush 7
5: bipush 40
bastore
dup
bipush 8
6: iconst_1
bastore
dup
bipush 10
7: bipush 42
bastore
dup
bipush 11
8: iconst_1
bastore
9: astore 1
start local 1 10: new org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
dup
ldc "loopSwitchProgram"
aload 1
iconst_0
iconst_3
invokespecial org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program.<init>:(Ljava/lang/String;[BII)V
astore 2
start local 2 11: aload 0
aload 2
invokevirtual org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest.assertPartialEvalEqualsAndRunsCorrect:(Lcom/oracle/truffle/api/nodes/RootNode;)V
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest;
10 13 1 bytecodes [B
11 13 2 program Lorg/graalvm/compiler/truffle/test/BytecodeInterpreterPartialEvaluationTest$Program;
RuntimeVisibleAnnotations:
org.junit.Test()
private static int lambda$0(java.util.Map$Entry, java.util.Map$Entry);
descriptor: (Ljava/util/Map$Entry;Ljava/util/Map$Entry;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
aload 0
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.compareTo:(Ljava/lang/Long;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 o1 Ljava/util/Map$Entry<Lorg/graalvm/compiler/debug/MetricKey;Ljava/lang/Long;>;
0 1 1 o2 Ljava/util/Map$Entry<Lorg/graalvm/compiler/debug/MetricKey;Ljava/lang/Long;>;
}
SourceFile: "BytecodeInterpreterPartialEvaluationTest.java"
NestMembers:
org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Bytecode org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Const org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$IfLt org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$IfZero org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Return org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public Bytecode = org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Bytecode of org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest
public abstract Inst = org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst of org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest
public Const = org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Const of org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst
public IfZero = org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$IfZero of org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst
public Return = org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst$Return of org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Inst
public InstArrayProgram = org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$InstArrayProgram of org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest
public Program = org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest$Program of org.graalvm.compiler.truffle.test.BytecodeInterpreterPartialEvaluationTest