public class com.oracle.truffle.llvm.tests.interop.SlowPathCallTest$TestSlow extends com.oracle.truffle.api.nodes.RootNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.llvm.tests.interop.SlowPathCallTest$TestSlow
super_class: com.oracle.truffle.api.nodes.RootNode
{
final com.oracle.truffle.llvm.tests.interop.SlowPathCallTest this$0;
descriptor: Lcom/oracle/truffle/llvm/tests/interop/SlowPathCallTest;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.oracle.truffle.llvm.tests.interop.SlowPathCallTest);
descriptor: (Lcom/oracle/truffle/llvm/tests/interop/SlowPathCallTest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.llvm.tests.interop.SlowPathCallTest$TestSlow.this$0:Lcom/oracle/truffle/llvm/tests/interop/SlowPathCallTest;
1: aload 0
aconst_null
invokespecial com.oracle.truffle.api.nodes.RootNode.<init>:(Lcom/oracle/truffle/api/TruffleLanguage;)V
2: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.testLibrary:Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 2
start local 2 3: iconst_5
anewarray java.lang.Object
dup
iconst_0
4: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.testLibrary:Ljava/lang/Object;
ldc "get_a"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
aastore
dup
iconst_1
5: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.testLibrary:Ljava/lang/Object;
ldc "get_b"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
aastore
dup
iconst_2
6: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.testLibrary:Ljava/lang/Object;
ldc "get_c"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
aastore
dup
iconst_3
7: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.testLibrary:Ljava/lang/Object;
ldc "get_d"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
aastore
dup
iconst_4
8: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.testLibrary:Ljava/lang/Object;
ldc "get_e"
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
aastore
9: putstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.function:[Ljava/lang/Object;
10: goto 13
StackMap locals: com.oracle.truffle.llvm.tests.interop.SlowPathCallTest$TestSlow com.oracle.truffle.llvm.tests.interop.SlowPathCallTest com.oracle.truffle.api.interop.InteropLibrary
StackMap stack: com.oracle.truffle.api.interop.InteropException
11: astore 3
start local 3 12: new java.lang.AssertionError
dup
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 13: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/llvm/tests/interop/SlowPathCallTest$TestSlow;
3 14 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
12 13 3 ex Lcom/oracle/truffle/api/interop/InteropException;
Exception table:
from to target type
3 10 11 Class com.oracle.truffle.api.interop.InteropException
MethodParameters:
Name Flags
this$0 final
public java.lang.Object execute(com.oracle.truffle.api.frame.VirtualFrame);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 2
start local 2 1: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.function:[Ljava/lang/Object;
iconst_0
aaload
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.function:[Ljava/lang/Object;
iconst_1
aaload
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 3: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.function:[Ljava/lang/Object;
iconst_2
aaload
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 4: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.function:[Ljava/lang/Object;
iconst_3
aaload
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 5: aload 2
getstatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.function:[Ljava/lang/Object;
iconst_4
aaload
aload 1
invokeinterface com.oracle.truffle.api.frame.VirtualFrame.getArguments:()[Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 6: aload 0
aload 3
aload 4
aload 5
aload 6
aload 7
invokevirtual com.oracle.truffle.llvm.tests.interop.SlowPathCallTest$TestSlow.assertResult:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
end local 7 end local 6 end local 5 end local 4 end local 3 7: goto 10
StackMap locals: com.oracle.truffle.llvm.tests.interop.SlowPathCallTest$TestSlow com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.api.interop.InteropLibrary
StackMap stack: com.oracle.truffle.api.interop.InteropException
8: astore 3
start local 3 9: new java.lang.AssertionError
dup
aload 3
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/llvm/tests/interop/SlowPathCallTest$TestSlow;
0 11 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 11 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
2 7 3 a Ljava/lang/Object;
3 7 4 b Ljava/lang/Object;
4 7 5 c Ljava/lang/Object;
5 7 6 d Ljava/lang/Object;
6 7 7 e Ljava/lang/Object;
9 10 3 ex Lcom/oracle/truffle/api/interop/InteropException;
Exception table:
from to target type
1 7 8 Class com.oracle.truffle.api.interop.InteropException
MethodParameters:
Name Flags
frame
private void assertResult(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: invokestatic com.oracle.truffle.llvm.tests.interop.SlowPathCallTest.makeObjectSlowpathCall:()Ljava/util/Map;
astore 6
start local 6 1: aload 6
ldc "a"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 1
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 6
ldc "b"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 2
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 6
ldc "c"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 3
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 6
ldc "d"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 4
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 6
ldc "e"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 5
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: return
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 7 0 this Lcom/oracle/truffle/llvm/tests/interop/SlowPathCallTest$TestSlow;
0 7 1 a Ljava/lang/Object;
0 7 2 b Ljava/lang/Object;
0 7 3 c Ljava/lang/Object;
0 7 4 d Ljava/lang/Object;
0 7 5 e Ljava/lang/Object;
1 7 6 expected Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
a
b
c
d
e
}
SourceFile: "SlowPathCallTest.java"
NestHost: com.oracle.truffle.llvm.tests.interop.SlowPathCallTest
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public TestSlow = com.oracle.truffle.llvm.tests.interop.SlowPathCallTest$TestSlow of com.oracle.truffle.llvm.tests.interop.SlowPathCallTest