abstract class com.oracle.truffle.llvm.nativemode.runtime.WellKnownNFIFunctionNode extends com.oracle.truffle.llvm.runtime.NativeContextExtension$WellKnownNativeFunctionNode
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.llvm.nativemode.runtime.WellKnownNFIFunctionNode
super_class: com.oracle.truffle.llvm.runtime.NativeContextExtension$WellKnownNativeFunctionNode
{
private final com.oracle.truffle.llvm.nativemode.runtime.NFIContextExtension$WellKnownFunction function;
descriptor: Lcom/oracle/truffle/llvm/nativemode/runtime/NFIContextExtension$WellKnownFunction;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.ContextExtension$Key<com.oracle.truffle.llvm.runtime.NativeContextExtension> ctxExtKey;
descriptor: Lcom/oracle/truffle/llvm/runtime/ContextExtension$Key;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/oracle/truffle/llvm/runtime/ContextExtension$Key<Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;>;
void <init>(com.oracle.truffle.llvm.nativemode.runtime.NFIContextExtension$WellKnownFunction);
descriptor: (Lcom/oracle/truffle/llvm/nativemode/runtime/NFIContextExtension$WellKnownFunction;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.truffle.llvm.runtime.NativeContextExtension$WellKnownNativeFunctionNode.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.llvm.nativemode.runtime.WellKnownNFIFunctionNode.function:Lcom/oracle/truffle/llvm/nativemode/runtime/NFIContextExtension$WellKnownFunction;
2: aload 0
invokestatic com.oracle.truffle.llvm.runtime.LLVMLanguage.getLanguage:()Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
ldc Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.lookupContextExtension:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/ContextExtension$Key;
putfield com.oracle.truffle.llvm.nativemode.runtime.WellKnownNFIFunctionNode.ctxExtKey:Lcom/oracle/truffle/llvm/runtime/ContextExtension$Key;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/nativemode/runtime/WellKnownNFIFunctionNode;
0 4 1 function Lcom/oracle/truffle/llvm/nativemode/runtime/NFIContextExtension$WellKnownFunction;
MethodParameters:
Name Flags
function
getFunction(com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.llvm.runtime.LLVMContext>);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.nativemode.runtime.WellKnownNFIFunctionNode.ctxExtKey:Lcom/oracle/truffle/llvm/runtime/ContextExtension$Key;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.LLVMContext
invokevirtual com.oracle.truffle.llvm.runtime.ContextExtension$Key.get:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/ContextExtension;
checkcast com.oracle.truffle.llvm.nativemode.runtime.NFIContextExtension
astore 2
start local 2 1: aload 2
aload 0
getfield com.oracle.truffle.llvm.nativemode.runtime.WellKnownNFIFunctionNode.function:Lcom/oracle/truffle/llvm/nativemode/runtime/NFIContextExtension$WellKnownFunction;
invokevirtual com.oracle.truffle.llvm.nativemode.runtime.NFIContextExtension.getCachedWellKnownFunction:(Lcom/oracle/truffle/llvm/nativemode/runtime/NFIContextExtension$WellKnownFunction;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/nativemode/runtime/WellKnownNFIFunctionNode;
0 2 1 ctx Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/llvm/runtime/LLVMContext;>;
1 2 2 ctxExt Lcom/oracle/truffle/llvm/nativemode/runtime/NFIContextExtension;
Signature: (Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/llvm/runtime/LLVMContext;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
ctx
doCached([], com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.llvm.runtime.LLVMContext>, , com.oracle.truffle.api.interop.InteropLibrary);
descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/nativemode/runtime/WellKnownNFIFunctionNode;
0 1 1 args [Ljava/lang/Object;
0 1 2 ctx Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/llvm/runtime/LLVMContext;>;
0 1 3 cachedFunction Ljava/lang/Object;
0 1 4 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
Exceptions:
throws com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnsupportedTypeException
Signature: ([Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/llvm/runtime/LLVMContext;>;Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(assumptions = {"singleContextAssumption()"})
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;)
2:
com.oracle.truffle.api.dsl.Cached(value = "getFunction(ctx)")
3:
com.oracle.truffle.api.library.CachedLibrary(value = "cachedFunction")
MethodParameters:
Name Flags
args
ctx
cachedFunction
interop
doGeneric([], com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.llvm.runtime.LLVMContext>, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
invokevirtual com.oracle.truffle.llvm.nativemode.runtime.WellKnownNFIFunctionNode.getFunction:(Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;)Ljava/lang/Object;
astore 4
start local 4 1: aload 3
aload 4
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/nativemode/runtime/WellKnownNFIFunctionNode;
0 2 1 args [Ljava/lang/Object;
0 2 2 ctx Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/llvm/runtime/LLVMContext;>;
0 2 3 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 2 4 fn Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.ArityException, com.oracle.truffle.api.interop.UnsupportedMessageException, com.oracle.truffle.api.interop.UnsupportedTypeException
Signature: ([Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/llvm/runtime/LLVMContext;>;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"doCached"})
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.CachedContext(value = Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;)
2:
com.oracle.truffle.api.library.CachedLibrary(limit = "3")
MethodParameters:
Name Flags
args
ctx
interop
}
SourceFile: "WellKnownNFIFunctionNode.java"
InnerClasses:
public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
final WellKnownFunction = com.oracle.truffle.llvm.nativemode.runtime.NFIContextExtension$WellKnownFunction of com.oracle.truffle.llvm.nativemode.runtime.NFIContextExtension
public abstract Key = com.oracle.truffle.llvm.runtime.ContextExtension$Key of com.oracle.truffle.llvm.runtime.ContextExtension
public abstract WellKnownNativeFunctionNode = com.oracle.truffle.llvm.runtime.NativeContextExtension$WellKnownNativeFunctionNode of com.oracle.truffle.llvm.runtime.NativeContextExtension