abstract class com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode extends com.oracle.truffle.api.nodes.Node
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode
super_class: com.oracle.truffle.api.nodes.Node
{
private final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String signature;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode.name:Ljava/lang/String;
2: aload 0
aload 2
putfield com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode.signature:Ljava/lang/String;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/nfi/NFIRootNode$LookupAndBindNode;
0 4 1 name Ljava/lang/String;
0 4 2 signature Ljava/lang/String;
MethodParameters:
Name Flags
name
signature
abstract java.lang.Object execute(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
library
java.lang.Object doLookupAndBind(java.lang.Object, com.oracle.truffle.api.interop.InteropLibrary, com.oracle.truffle.api.interop.InteropLibrary);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/interop/InteropLibrary;Lcom/oracle/truffle/api/interop/InteropLibrary;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
aload 0
getfield com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode.name:Ljava/lang/String;
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 4
start local 4 1: aload 3
aload 4
ldc "bind"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode.signature:Ljava/lang/String;
aastore
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.invokeMember:(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
2: areturn
end local 4 3: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
astore 4
start local 4 4: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
5: new com.oracle.truffle.nfi.NFIPreBindException
dup
aload 4
invokevirtual com.oracle.truffle.api.interop.InteropException.getMessage:()Ljava/lang/String;
aload 0
invokespecial com.oracle.truffle.nfi.NFIPreBindException.<init>:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/nfi/NFIRootNode$LookupAndBindNode;
0 6 1 library Ljava/lang/Object;
0 6 2 libInterop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 6 3 symInterop Lcom/oracle/truffle/api/interop/InteropLibrary;
1 3 4 symbol Ljava/lang/Object;
4 6 4 ex Lcom/oracle/truffle/api/interop/InteropException;
Exception table:
from to target type
0 2 3 Class com.oracle.truffle.api.interop.InteropException
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(limit = "1")
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.library.CachedLibrary(value = "library")
2:
com.oracle.truffle.api.dsl.Cached$Shared(value = "symInterop")
com.oracle.truffle.api.library.CachedLibrary(limit = "1")
MethodParameters:
Name Flags
library
libInterop
symInterop
}
SourceFile: "NFIRootNode.java"
NestHost: com.oracle.truffle.nfi.NFIRootNode
InnerClasses:
public abstract Shared = com.oracle.truffle.api.dsl.Cached$Shared of com.oracle.truffle.api.dsl.Cached
abstract LookupAndBindNode = com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode of com.oracle.truffle.nfi.NFIRootNode