abstract class com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode 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.SignatureRootNode$BuildSignatureNode
super_class: com.oracle.truffle.api.nodes.Node
{
com.oracle.truffle.nfi.SignatureRootNode$ArgumentBuilderNode[] argBuilders;
descriptor: [Lcom/oracle/truffle/nfi/SignatureRootNode$ArgumentBuilderNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Children()
private static final com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayFactory<com.oracle.truffle.nfi.NFIType> FACTORY;
descriptor: Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayFactory<Lcom/oracle/truffle/nfi/NFIType;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode$1
dup
invokespecial com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode$1.<init>:()V
putstatic com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode.FACTORY:Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayFactory;
1: return
LocalVariableTable:
Start End Slot Name Signature
abstract java.lang.Object execute(com.oracle.truffle.nfi.API);
descriptor: (Lcom/oracle/truffle/nfi/API;)Ljava/lang/Object;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
api
void <init>(com.oracle.truffle.nfi.SignatureRootNode$ArgumentBuilderNode[]);
descriptor: ([Lcom/oracle/truffle/nfi/SignatureRootNode$ArgumentBuilderNode;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.oracle.truffle.api.nodes.Node.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode.argBuilders:[Lcom/oracle/truffle/nfi/SignatureRootNode$ArgumentBuilderNode;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/nfi/SignatureRootNode$BuildSignatureNode;
0 3 1 argBuilders [Lcom/oracle/truffle/nfi/SignatureRootNode$ArgumentBuilderNode;
MethodParameters:
Name Flags
argBuilders
java.lang.Object doBuild(com.oracle.truffle.nfi.API, com.oracle.truffle.nfi.spi.NFIBackendLibrary, com.oracle.truffle.nfi.spi.NFIBackendSignatureBuilderLibrary, com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayBuilderFactory);
descriptor: (Lcom/oracle/truffle/nfi/API;Lcom/oracle/truffle/nfi/spi/NFIBackendLibrary;Lcom/oracle/truffle/nfi/spi/NFIBackendSignatureBuilderLibrary;Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayBuilderFactory;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
aload 1
getfield com.oracle.truffle.nfi.API.backend:Lcom/oracle/truffle/nfi/spi/NFIBackend;
invokevirtual com.oracle.truffle.nfi.spi.NFIBackendLibrary.createSignatureBuilder:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 1: new com.oracle.truffle.nfi.NFISignature$SignatureBuilder
dup
aload 1
getfield com.oracle.truffle.nfi.API.backendId:Ljava/lang/String;
aload 5
aload 4
getstatic com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode.FACTORY:Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayFactory;
invokevirtual com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayBuilderFactory.allocate:(Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayFactory;)Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder;
invokespecial com.oracle.truffle.nfi.NFISignature$SignatureBuilder.<init>:(Ljava/lang/String;Ljava/lang/Object;Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder;)V
astore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: java.lang.Object com.oracle.truffle.nfi.NFISignature$SignatureBuilder int
StackMap stack:
aload 0
getfield com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode.argBuilders:[Lcom/oracle/truffle/nfi/SignatureRootNode$ArgumentBuilderNode;
iload 7
aaload
aload 1
aload 6
invokevirtual com.oracle.truffle.nfi.SignatureRootNode$ArgumentBuilderNode.execute:(Lcom/oracle/truffle/nfi/API;Ljava/lang/Object;)V
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
aload 0
getfield com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode.argBuilders:[Lcom/oracle/truffle/nfi/SignatureRootNode$ArgumentBuilderNode;
arraylength
if_icmplt 4
end local 7 7: aload 3
aload 6
invokevirtual com.oracle.truffle.nfi.spi.NFIBackendSignatureBuilderLibrary.build:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
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 8 0 this Lcom/oracle/truffle/nfi/SignatureRootNode$BuildSignatureNode;
0 8 1 api Lcom/oracle/truffle/nfi/API;
0 8 2 backendLibrary Lcom/oracle/truffle/nfi/spi/NFIBackendLibrary;
0 8 3 sigBuilderLibrary Lcom/oracle/truffle/nfi/spi/NFIBackendSignatureBuilderLibrary;
0 8 4 factory Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder$ArrayBuilderFactory;
1 8 5 backendBuilder Ljava/lang/Object;
2 8 6 sigBuilder Lcom/oracle/truffle/nfi/NFISignature$SignatureBuilder;
3 7 7 i I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(limit = "3")
com.oracle.truffle.api.nodes.ExplodeLoop()
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.library.CachedLibrary(value = "api.backend")
2:
com.oracle.truffle.api.library.CachedLibrary(limit = "1")
3:
com.oracle.truffle.api.dsl.Cached()
MethodParameters:
Name Flags
api
backendLibrary
sigBuilderLibrary
factory
}
SourceFile: "SignatureRootNode.java"
NestHost: com.oracle.truffle.nfi.SignatureRootNode
InnerClasses:
public abstract Children = com.oracle.truffle.api.nodes.Node$Children of com.oracle.truffle.api.nodes.Node
final SignatureBuilder = com.oracle.truffle.nfi.NFISignature$SignatureBuilder of com.oracle.truffle.nfi.NFISignature
abstract ArgumentBuilderNode = com.oracle.truffle.nfi.SignatureRootNode$ArgumentBuilderNode of com.oracle.truffle.nfi.SignatureRootNode
abstract BuildSignatureNode = com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode of com.oracle.truffle.nfi.SignatureRootNode
com.oracle.truffle.nfi.SignatureRootNode$BuildSignatureNode$1
public abstract ArrayBuilderFactory = com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayBuilderFactory of com.oracle.truffle.nfi.util.ProfiledArrayBuilder
public abstract ArrayFactory = com.oracle.truffle.nfi.util.ProfiledArrayBuilder$ArrayFactory of com.oracle.truffle.nfi.util.ProfiledArrayBuilder