class com.oracle.truffle.nfi.NFIRootNode extends com.oracle.truffle.api.nodes.RootNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.nfi.NFIRootNode
super_class: com.oracle.truffle.api.nodes.RootNode
{
com.oracle.truffle.nfi.NFIRootNode$LoadLibraryNode loadLibrary;
descriptor: Lcom/oracle/truffle/nfi/NFIRootNode$LoadLibraryNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode[] lookupAndBind;
descriptor: [Lcom/oracle/truffle/nfi/NFIRootNode$LookupAndBindNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Children()
private final com.oracle.truffle.api.TruffleLanguage$ContextReference<com.oracle.truffle.nfi.NFIContext> ctxRef;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/oracle/truffle/api/TruffleLanguage$ContextReference<Lcom/oracle/truffle/nfi/NFIContext;>;
private final java.lang.String backendId;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.truffle.nfi.NFILanguage, com.oracle.truffle.nfi.NativeSource$ParsedLibrary, java.lang.String);
descriptor: (Lcom/oracle/truffle/nfi/NFILanguage;Lcom/oracle/truffle/nfi/NativeSource$ParsedLibrary;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tThe import com.oracle.truffle.nfi.NFIRootNodeFactory cannot be resolved\n\tThe import com.oracle.truffle.nfi.NFIRootNodeFactory cannot be resolved\n\tLoadLibraryNodeGen cannot be resolved\n\tLookupAndBindNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/nfi/NFIRootNode;
MethodParameters:
Name Flags
language
source
backendId
public boolean isInternal();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/nfi/NFIRootNode;
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=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.nfi.NFIRootNode.ctxRef:Lcom/oracle/truffle/api/TruffleLanguage$ContextReference;
invokevirtual com.oracle.truffle.api.TruffleLanguage$ContextReference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.nfi.NFIContext
aload 0
getfield com.oracle.truffle.nfi.NFIRootNode.backendId:Ljava/lang/String;
invokevirtual com.oracle.truffle.nfi.NFIContext.getBackend:(Ljava/lang/String;)Lcom/oracle/truffle/nfi/spi/NFIBackend;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.nfi.NFIRootNode.loadLibrary:Lcom/oracle/truffle/nfi/NFIRootNode$LoadLibraryNode;
aload 2
invokevirtual com.oracle.truffle.nfi.NFIRootNode$LoadLibraryNode.execute:(Lcom/oracle/truffle/nfi/spi/NFIBackend;)Ljava/lang/Object;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.nfi.NFIRootNode.lookupAndBind:[Lcom/oracle/truffle/nfi/NFIRootNode$LookupAndBindNode;
arraylength
ifne 4
3: aload 3
areturn
4: StackMap locals: com.oracle.truffle.nfi.spi.NFIBackend java.lang.Object
StackMap stack:
new com.oracle.truffle.nfi.NFILibrary
dup
aload 3
invokespecial com.oracle.truffle.nfi.NFILibrary.<init>:(Ljava/lang/Object;)V
astore 4
start local 4 5: aload 0
getfield com.oracle.truffle.nfi.NFIRootNode.lookupAndBind:[Lcom/oracle/truffle/nfi/NFIRootNode$LookupAndBindNode;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 9
StackMap locals: com.oracle.truffle.nfi.NFIRootNode com.oracle.truffle.api.frame.VirtualFrame com.oracle.truffle.nfi.spi.NFIBackend java.lang.Object com.oracle.truffle.nfi.NFILibrary top int int com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode[]
StackMap stack:
6: aload 8
iload 6
aaload
astore 5
start local 5 7: aload 4
aload 5
getfield com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode.name:Ljava/lang/String;
aload 5
aload 3
invokevirtual com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode.execute:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.nfi.NFILibrary.preBindSymbol:(Ljava/lang/String;Ljava/lang/Object;)V
end local 5 8: iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 7
if_icmplt 6
10: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/nfi/NFIRootNode;
0 11 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
1 11 2 backend Lcom/oracle/truffle/nfi/spi/NFIBackend;
2 11 3 library Ljava/lang/Object;
5 11 4 ret Lcom/oracle/truffle/nfi/NFILibrary;
7 8 5 l Lcom/oracle/truffle/nfi/NFIRootNode$LookupAndBindNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.ExplodeLoop()
MethodParameters:
Name Flags
frame
}
SourceFile: "NFIRootNode.java"
NestMembers:
com.oracle.truffle.nfi.NFIRootNode$LoadLibraryNode com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode
InnerClasses:
public abstract ContextReference = com.oracle.truffle.api.TruffleLanguage$ContextReference of com.oracle.truffle.api.TruffleLanguage
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node
abstract LoadLibraryNode = com.oracle.truffle.nfi.NFIRootNode$LoadLibraryNode of com.oracle.truffle.nfi.NFIRootNode
abstract LookupAndBindNode = com.oracle.truffle.nfi.NFIRootNode$LookupAndBindNode of com.oracle.truffle.nfi.NFIRootNode
final ParsedLibrary = com.oracle.truffle.nfi.NativeSource$ParsedLibrary of com.oracle.truffle.nfi.NativeSource