class com.oracle.truffle.nfi.NFISignature$SignatureBuilder$Build
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.nfi.NFISignature$SignatureBuilder$Build
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/nfi/NFISignature$SignatureBuilder$Build;
static com.oracle.truffle.nfi.NFISignature doCached(com.oracle.truffle.nfi.NFISignature$SignatureBuilder, com.oracle.truffle.nfi.NFISignature$SignatureCachedState, com.oracle.truffle.nfi.spi.NFIBackendSignatureBuilderLibrary);
descriptor: (Lcom/oracle/truffle/nfi/NFISignature$SignatureBuilder;Lcom/oracle/truffle/nfi/NFISignature$SignatureCachedState;Lcom/oracle/truffle/nfi/spi/NFIBackendSignatureBuilderLibrary;)Lcom/oracle/truffle/nfi/NFISignature;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.backendBuilder:Ljava/lang/Object;
invokevirtual com.oracle.truffle.nfi.spi.NFIBackendSignatureBuilderLibrary.build:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: new com.oracle.truffle.nfi.NFISignature
dup
aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.backendId:Ljava/lang/String;
aload 1
aload 3
aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.retType:Lcom/oracle/truffle/nfi/NFIType;
2: aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.argTypes:Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder;
invokevirtual com.oracle.truffle.nfi.util.ProfiledArrayBuilder.getFinalArray:()[Ljava/lang/Object;
checkcast com.oracle.truffle.nfi.NFIType[]
aload 1
getfield com.oracle.truffle.nfi.NFISignature$SignatureCachedState.args:Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
getfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.nativeArgCount:I
aload 1
getfield com.oracle.truffle.nfi.NFISignature$SignatureCachedState.args:Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
getfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.managedArgCount:I
3: invokespecial com.oracle.truffle.nfi.NFISignature.<init>:(Ljava/lang/String;Lcom/oracle/truffle/nfi/NFISignature$SignatureCachedState;Ljava/lang/Object;Lcom/oracle/truffle/nfi/NFIType;[Lcom/oracle/truffle/nfi/NFIType;II)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 builder Lcom/oracle/truffle/nfi/NFISignature$SignatureBuilder;
0 4 1 cachedState Lcom/oracle/truffle/nfi/NFISignature$SignatureCachedState;
0 4 2 backendLibrary Lcom/oracle/truffle/nfi/spi/NFIBackendSignatureBuilderLibrary;
1 4 3 nativeSignature Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"builder.argsState == cachedState.args", "builder.retTypeState == cachedState.retType"})
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "create(builder)")
2:
com.oracle.truffle.api.library.CachedLibrary(value = "builder.backendBuilder")
MethodParameters:
Name Flags
builder
cachedState
backendLibrary
static com.oracle.truffle.nfi.NFISignature doGeneric(com.oracle.truffle.nfi.NFISignature$SignatureBuilder, com.oracle.truffle.nfi.spi.NFIBackendSignatureBuilderLibrary);
descriptor: (Lcom/oracle/truffle/nfi/NFISignature$SignatureBuilder;Lcom/oracle/truffle/nfi/spi/NFIBackendSignatureBuilderLibrary;)Lcom/oracle/truffle/nfi/NFISignature;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.backendBuilder:Ljava/lang/Object;
invokevirtual com.oracle.truffle.nfi.spi.NFIBackendSignatureBuilderLibrary.build:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: new com.oracle.truffle.nfi.NFISignature
dup
aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.backendId:Ljava/lang/String;
aconst_null
aload 2
aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.retType:Lcom/oracle/truffle/nfi/NFIType;
2: aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.argTypes:Lcom/oracle/truffle/nfi/util/ProfiledArrayBuilder;
invokevirtual com.oracle.truffle.nfi.util.ProfiledArrayBuilder.getFinalArray:()[Ljava/lang/Object;
checkcast com.oracle.truffle.nfi.NFIType[]
aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.argsState:Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
getfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.nativeArgCount:I
aload 0
getfield com.oracle.truffle.nfi.NFISignature$SignatureBuilder.argsState:Lcom/oracle/truffle/nfi/NFISignature$ArgsCachedState;
getfield com.oracle.truffle.nfi.NFISignature$ArgsCachedState.managedArgCount:I
3: invokespecial com.oracle.truffle.nfi.NFISignature.<init>:(Ljava/lang/String;Lcom/oracle/truffle/nfi/NFISignature$SignatureCachedState;Ljava/lang/Object;Lcom/oracle/truffle/nfi/NFIType;[Lcom/oracle/truffle/nfi/NFIType;II)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 builder Lcom/oracle/truffle/nfi/NFISignature$SignatureBuilder;
0 4 1 backendLibrary Lcom/oracle/truffle/nfi/spi/NFIBackendSignatureBuilderLibrary;
1 4 2 nativeSignature Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(replaces = {"doCached"})
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.library.CachedLibrary(value = "builder.backendBuilder")
MethodParameters:
Name Flags
builder
backendLibrary
}
SourceFile: "NFISignature.java"
NestHost: com.oracle.truffle.nfi.NFISignature
InnerClasses:
final ArgsCachedState = com.oracle.truffle.nfi.NFISignature$ArgsCachedState of com.oracle.truffle.nfi.NFISignature
final SignatureBuilder = com.oracle.truffle.nfi.NFISignature$SignatureBuilder of com.oracle.truffle.nfi.NFISignature
Build = com.oracle.truffle.nfi.NFISignature$SignatureBuilder$Build of com.oracle.truffle.nfi.NFISignature$SignatureBuilder
final SignatureCachedState = com.oracle.truffle.nfi.NFISignature$SignatureCachedState of com.oracle.truffle.nfi.NFISignature
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()