class com.oracle.truffle.llvm.runtime.pointer.CommonPointerLibraries$InvokeMember
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.llvm.runtime.pointer.CommonPointerLibraries$InvokeMember
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/runtime/pointer/CommonPointerLibraries$InvokeMember;
static java.lang.Object doCached(com.oracle.truffle.llvm.runtime.pointer.LLVMPointerImpl, java.lang.String, java.lang.Object[], com.oracle.truffle.llvm.runtime.LLVMContext, com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Clazz, com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Method, int, java.lang.String, com.oracle.truffle.llvm.runtime.LLVMFunction);
descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointerImpl;Ljava/lang/String;[Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/LLVMContext;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Clazz;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Method;ILjava/lang/String;Lcom/oracle/truffle/llvm/runtime/LLVMFunction;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=11, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
aload 2
invokestatic com.oracle.truffle.llvm.runtime.pointer.CommonPointerLibraries.addSelfObject:(Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
astore 10
start local 10 1: aload 4
aload 3
aload 9
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getSymbol:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
aload 10
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 10 end local 9 end local 8 end local 7 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 2 0 receiver Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointerImpl;
0 2 1 member Ljava/lang/String;
0 2 2 arguments [Ljava/lang/Object;
0 2 3 context Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 2 4 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 2 5 clazz Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Clazz;
0 2 6 method Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Method;
0 2 7 argCount I
0 2 8 methodName Ljava/lang/String;
0 2 9 llvmFunction Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
1 2 10 newArguments [Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedTypeException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"asClazz(receiver)==clazz", "member.equals(methodName)", "argCount==arguments.length"}, assumptions = {"getLanguage().singleContextAssumption"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;)
4:
com.oracle.truffle.api.library.CachedLibrary(limit = "5")
5:
com.oracle.truffle.api.dsl.Cached(value = "asClazz(receiver)")
6:
com.oracle.truffle.api.dsl.Cached(value = "clazz.findMethodByArguments(receiver, member, arguments)")
7:
com.oracle.truffle.api.dsl.Cached(value = "arguments.length")
8:
com.oracle.truffle.api.dsl.Cached(value = "method.getName()")
9:
com.oracle.truffle.api.dsl.Cached(value = "getLLVMFunction(context, method, clazz, member)")
MethodParameters:
Name Flags
receiver
member
arguments
context
interop
clazz
method
argCount
methodName
llvmFunction
static java.lang.Object doResolve(com.oracle.truffle.llvm.runtime.pointer.LLVMPointerImpl, java.lang.String, java.lang.Object[], com.oracle.truffle.llvm.runtime.LLVMContext, com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.llvm.runtime.nodes.others.LLVMDynAccessSymbolNode);
descriptor: (Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointerImpl;Ljava/lang/String;[Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/LLVMContext;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/llvm/runtime/nodes/others/LLVMDynAccessSymbolNode;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
invokestatic com.oracle.truffle.llvm.runtime.pointer.CommonPointerLibraries.addSelfObject:(Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
astore 6
start local 6 1: aload 0
invokestatic com.oracle.truffle.llvm.runtime.pointer.CommonPointerLibraries.asClazz:(Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointerImpl;)Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Clazz;
astore 7
start local 7 2: aload 7
aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Clazz.findMethodByArguments:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Method;
astore 8
start local 8 3: aload 3
aload 8
aload 7
aload 1
invokestatic com.oracle.truffle.llvm.runtime.pointer.CommonPointerLibraries.getLLVMFunction:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Method;Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Clazz;Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
astore 9
start local 9 4: aload 5
aload 9
invokevirtual com.oracle.truffle.llvm.runtime.nodes.others.LLVMDynAccessSymbolNode.execute:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
astore 10
start local 10 5: aload 4
aload 10
aload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 10 end local 9 end local 8 end local 7 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 6 0 receiver Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointerImpl;
0 6 1 member Ljava/lang/String;
0 6 2 arguments [Ljava/lang/Object;
0 6 3 context Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 6 4 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 6 5 dynAccessSymbolNode Lcom/oracle/truffle/llvm/runtime/nodes/others/LLVMDynAccessSymbolNode;
1 6 6 newArguments [Ljava/lang/Object;
2 6 7 newClazz Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Clazz;
3 6 8 newMethod Lcom/oracle/truffle/llvm/runtime/interop/access/LLVMInteropType$Method;
4 6 9 newLLVMFunction Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
5 6 10 newReceiver Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedTypeException, com.oracle.truffle.api.interop.UnknownIdentifierException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"doCached"})
RuntimeInvisibleParameterAnnotations:
0:
1:
2:
3:
com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;)
4:
com.oracle.truffle.api.library.CachedLibrary(limit = "5")
5:
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
receiver
member
arguments
context
interop
dynAccessSymbolNode
}
SourceFile: "CommonPointerLibraries.java"
NestHost: com.oracle.truffle.llvm.runtime.pointer.CommonPointerLibraries
InnerClasses:
public final Clazz = com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Clazz of com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType
public final Method = com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType$Method of com.oracle.truffle.llvm.runtime.interop.access.LLVMInteropType
InvokeMember = com.oracle.truffle.llvm.runtime.pointer.CommonPointerLibraries$InvokeMember of com.oracle.truffle.llvm.runtime.pointer.CommonPointerLibraries
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;})