public class org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest extends org.graalvm.compiler.truffle.test.TestWithSynchronousCompiling
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest
super_class: org.graalvm.compiler.truffle.test.TestWithSynchronousCompiling
{
private static final java.lang.Object CONSTANT_OBJECT;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: .line 133
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest.CONSTANT_OBJECT:Ljava/lang/Object;
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 // org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest this
0: .line 40
aload 0 /* this */
invokespecial org.graalvm.compiler.truffle.test.TestWithSynchronousCompiling.<init>:()V
return
end local 0 // org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/ExplodeLoopBlockDuplicationTest;
public void testBlockDuplication();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 // org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest this
0: .line 48
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ObjectCacheTestRootNode
dup
aload 0 /* this */
invokespecial org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ObjectCacheTestRootNode.<init>:(Lorg/graalvm/compiler/truffle/test/ExplodeLoopBlockDuplicationTest;)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
checkcast org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
astore 1 /* target */
start local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
1: .line 49
new org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ConcreteType1
dup
invokespecial org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ConcreteType1.<init>:()V
astore 2 /* value1 */
start local 2 // org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$AbstractType value1
2: .line 50
new org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ConcreteType2
dup
invokespecial org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ConcreteType2.<init>:()V
astore 3 /* value2 */
start local 3 // org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$AbstractType value2
3: .line 51
aload 1 /* target */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2 /* value1 */
aastore
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
4: .line 52
aload 1 /* target */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3 /* value2 */
aastore
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
5: .line 54
aload 1 /* target */
iconst_1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.compile:(Z)Z
pop
6: .line 55
aload 1 /* target */
invokestatic org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest.assertCompiled:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
7: .line 56
aload 1 /* target */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2 /* value1 */
aastore
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
8: .line 57
aload 1 /* target */
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3 /* value2 */
aastore
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
9: .line 59
aload 1 /* target */
invokestatic org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest.assertCompiled:(Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;)V
10: .line 60
return
end local 3 // org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$AbstractType value2
end local 2 // org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$AbstractType value1
end local 1 // org.graalvm.compiler.truffle.runtime.OptimizedCallTarget target
end local 0 // org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/truffle/test/ExplodeLoopBlockDuplicationTest;
1 11 1 target Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
2 11 2 value1 Lorg/graalvm/compiler/truffle/test/ExplodeLoopBlockDuplicationTest$AbstractType;
3 11 3 value2 Lorg/graalvm/compiler/truffle/test/ExplodeLoopBlockDuplicationTest$AbstractType;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ExplodeLoopBlockDuplicationTest.java"
NestMembers:
org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$AbstractType org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ConcreteType1 org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ConcreteType2 org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ObjectCacheTestNodeGen org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ObjectCacheTestNodeGen$CachedData org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ObjectCacheTestRootNode
InnerClasses:
private abstract AbstractType = org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$AbstractType of org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest
private final ConcreteType1 = org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ConcreteType1 of org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest
private final ConcreteType2 = org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ConcreteType2 of org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest
private final ObjectCacheTestNodeGen = org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ObjectCacheTestNodeGen of org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest
final ObjectCacheTestRootNode = org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest$ObjectCacheTestRootNode of org.graalvm.compiler.truffle.test.ExplodeLoopBlockDuplicationTest