public class com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest
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.FrameSlotTypeSpecializationTest this
0: .line 71
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/FrameSlotTypeSpecializationTest;
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.FrameSlotTypeSpecializationTest 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.FrameSlotTypeSpecializationTest$TestRootNode
dup
aload 0 /* this */
aload 2 /* frameDescriptor */
new com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$IntAssignLocal
dup
aload 0 /* this */
aload 3 /* slot */
new com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$StringTestChildNode
dup
aload 0 /* this */
invokespecial com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$StringTestChildNode.<init>:(Lcom/oracle/truffle/api/test/FrameSlotTypeSpecializationTest;)V
invokespecial com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$IntAssignLocal.<init>:(Lcom/oracle/truffle/api/test/FrameSlotTypeSpecializationTest;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/api/test/FrameSlotTypeSpecializationTest$TestChildNode;)V
new com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$IntReadLocal
dup
aload 0 /* this */
aload 3 /* slot */
invokespecial com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$IntReadLocal.<init>:(Lcom/oracle/truffle/api/test/FrameSlotTypeSpecializationTest;Lcom/oracle/truffle/api/frame/FrameSlot;)V
invokespecial com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$TestRootNode.<init>:(Lcom/oracle/truffle/api/test/FrameSlotTypeSpecializationTest;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/test/FrameSlotTypeSpecializationTest$TestChildNode;Lcom/oracle/truffle/api/test/FrameSlotTypeSpecializationTest$TestChildNode;)V
astore 4 /* rootNode */
start local 4 // com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$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.FrameSlotTypeSpecializationTest$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.FrameSlotTypeSpecializationTest this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/test/FrameSlotTypeSpecializationTest;
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/FrameSlotTypeSpecializationTest$TestRootNode;
5 10 5 target Lcom/oracle/truffle/api/CallTarget;
7 10 6 result Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "FrameSlotTypeSpecializationTest.java"
NestMembers:
com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$FrameSlotNode com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$IntAssignLocal com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$IntReadLocal com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$ObjectAssignLocal com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$ObjectReadLocal com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$StringTestChildNode com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$TestChildNode com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$TestRootNode
InnerClasses:
abstract FrameSlotNode = com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$FrameSlotNode of com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest
IntAssignLocal = com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$IntAssignLocal of com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest
IntReadLocal = com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$IntReadLocal of com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest
ObjectAssignLocal = com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$ObjectAssignLocal of com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest
ObjectReadLocal = com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$ObjectReadLocal of com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest
StringTestChildNode = com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$StringTestChildNode of com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest
abstract TestChildNode = com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$TestChildNode of com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest
TestRootNode = com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest$TestRootNode of com.oracle.truffle.api.test.FrameSlotTypeSpecializationTest