public class com.oracle.truffle.api.test.ReturnTypeSpecializationTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.ReturnTypeSpecializationTest
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.oracle.truffle.api.test.ReturnTypeSpecializationTest this
0: .line 71
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.oracle.truffle.api.test.ReturnTypeSpecializationTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest;
public void test();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=7, args_size=1
start local 0 // com.oracle.truffle.api.test.ReturnTypeSpecializationTest this
0: .line 75
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
astore 1 /* runtime */
start local 1 // com.oracle.truffle.api.TruffleRuntime runtime
1: .line 76
new com.oracle.truffle.api.frame.FrameDescriptor
dup
invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
astore 2 /* frameDescriptor */
start local 2 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
2: .line 77
aload 2 /* frameDescriptor */
ldc "localVar"
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 /* slot */
start local 3 // com.oracle.truffle.api.frame.FrameSlot slot
3: .line 78
new com.oracle.truffle.api.test.ReturnTypeSpecializationTest$TestRootNode
dup
aload 0 /* this */
aload 2 /* frameDescriptor */
new com.oracle.truffle.api.test.ReturnTypeSpecializationTest$IntAssignLocal
dup
aload 0 /* this */
aload 3 /* slot */
new com.oracle.truffle.api.test.ReturnTypeSpecializationTest$StringTestChildNode
dup
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.ReturnTypeSpecializationTest$StringTestChildNode.<init>:(Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest;)V
invokespecial com.oracle.truffle.api.test.ReturnTypeSpecializationTest$IntAssignLocal.<init>:(Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest$TestChildNode;)V
new com.oracle.truffle.api.test.ReturnTypeSpecializationTest$IntReadLocal
dup
aload 0 /* this */
aload 3 /* slot */
invokespecial com.oracle.truffle.api.test.ReturnTypeSpecializationTest$IntReadLocal.<init>:(Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest;Lcom/oracle/truffle/api/frame/FrameSlot;)V
invokespecial com.oracle.truffle.api.test.ReturnTypeSpecializationTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest$TestChildNode;Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest$TestChildNode;)V
astore 4 /* rootNode */
start local 4 // com.oracle.truffle.api.test.ReturnTypeSpecializationTest$TestRootNode rootNode
4: .line 79
aload 1 /* runtime */
aload 4 /* rootNode */
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 5 /* target */
start local 5 // com.oracle.truffle.api.CallTarget target
5: .line 80
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Int:Lcom/oracle/truffle/api/frame/FrameSlotKind;
aload 2 /* frameDescriptor */
aload 3 /* slot */
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getFrameSlotKind:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: .line 81
aload 5 /* target */
iconst_0
anewarray java.lang.Object
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
astore 6 /* result */
start local 6 // java.lang.Object result
7: .line 82
ldc "42"
aload 6 /* result */
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
8: .line 83
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Object:Lcom/oracle/truffle/api/frame/FrameSlotKind;
aload 2 /* frameDescriptor */
aload 3 /* slot */
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getFrameSlotKind:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
9: .line 84
return
end local 6 // java.lang.Object result
end local 5 // com.oracle.truffle.api.CallTarget target
end local 4 // com.oracle.truffle.api.test.ReturnTypeSpecializationTest$TestRootNode rootNode
end local 3 // com.oracle.truffle.api.frame.FrameSlot slot
end local 2 // com.oracle.truffle.api.frame.FrameDescriptor frameDescriptor
end local 1 // com.oracle.truffle.api.TruffleRuntime runtime
end local 0 // com.oracle.truffle.api.test.ReturnTypeSpecializationTest this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest;
1 10 1 runtime Lcom/oracle/truffle/api/TruffleRuntime;
2 10 2 frameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
3 10 3 slot Lcom/oracle/truffle/api/frame/FrameSlot;
4 10 4 rootNode Lcom/oracle/truffle/api/test/ReturnTypeSpecializationTest$TestRootNode;
5 10 5 target Lcom/oracle/truffle/api/CallTarget;
7 10 6 result Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ReturnTypeSpecializationTest.java"
NestMembers:
com.oracle.truffle.api.test.ReturnTypeSpecializationTest$FrameSlotNode com.oracle.truffle.api.test.ReturnTypeSpecializationTest$IntAssignLocal com.oracle.truffle.api.test.ReturnTypeSpecializationTest$IntReadLocal com.oracle.truffle.api.test.ReturnTypeSpecializationTest$ObjectAssignLocal com.oracle.truffle.api.test.ReturnTypeSpecializationTest$ObjectReadLocal com.oracle.truffle.api.test.ReturnTypeSpecializationTest$StringTestChildNode com.oracle.truffle.api.test.ReturnTypeSpecializationTest$TestChildNode com.oracle.truffle.api.test.ReturnTypeSpecializationTest$TestRootNode
InnerClasses:
abstract FrameSlotNode = com.oracle.truffle.api.test.ReturnTypeSpecializationTest$FrameSlotNode of com.oracle.truffle.api.test.ReturnTypeSpecializationTest
IntAssignLocal = com.oracle.truffle.api.test.ReturnTypeSpecializationTest$IntAssignLocal of com.oracle.truffle.api.test.ReturnTypeSpecializationTest
IntReadLocal = com.oracle.truffle.api.test.ReturnTypeSpecializationTest$IntReadLocal of com.oracle.truffle.api.test.ReturnTypeSpecializationTest
ObjectAssignLocal = com.oracle.truffle.api.test.ReturnTypeSpecializationTest$ObjectAssignLocal of com.oracle.truffle.api.test.ReturnTypeSpecializationTest
ObjectReadLocal = com.oracle.truffle.api.test.ReturnTypeSpecializationTest$ObjectReadLocal of com.oracle.truffle.api.test.ReturnTypeSpecializationTest
StringTestChildNode = com.oracle.truffle.api.test.ReturnTypeSpecializationTest$StringTestChildNode of com.oracle.truffle.api.test.ReturnTypeSpecializationTest
abstract TestChildNode = com.oracle.truffle.api.test.ReturnTypeSpecializationTest$TestChildNode of com.oracle.truffle.api.test.ReturnTypeSpecializationTest
TestRootNode = com.oracle.truffle.api.test.ReturnTypeSpecializationTest$TestRootNode of com.oracle.truffle.api.test.ReturnTypeSpecializationTest