abstract class com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode extends com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode
super_class: com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode
{
private final com.oracle.truffle.llvm.runtime.NodeFactory nodeFactory;
descriptor: Lcom/oracle/truffle/llvm/runtime/NodeFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.LLVMFunctionCode functionCode;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(com.oracle.truffle.llvm.runtime.LLVMSymbol, com.oracle.truffle.llvm.runtime.LLVMFunctionCode, com.oracle.truffle.llvm.runtime.NodeFactory);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)V
1: aload 0
aload 2
putfield com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode.functionCode:Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
2: aload 0
aload 3
putfield com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/initialization/AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode;
0 4 1 symbol Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
0 4 2 functionCode Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
0 4 3 nodeFactory Lcom/oracle/truffle/llvm/runtime/NodeFactory;
MethodParameters:
Name Flags
symbol
functionCode
nodeFactory
com.oracle.truffle.llvm.runtime.pointer.LLVMPointer allocateIntrinsicFunction(com.oracle.truffle.llvm.runtime.LLVMLocalScope, com.oracle.truffle.llvm.runtime.LLVMScope, com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider, com.oracle.truffle.llvm.runtime.NativeContextExtension, com.oracle.truffle.llvm.runtime.LLVMContext);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMLocalScope;Lcom/oracle/truffle/llvm/runtime/LLVMScope;Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
flags: (0x0000)
Code:
stack=3, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
aload 0
getfield com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode.symbol:Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.asFunction:()Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
aload 0
getfield com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode.functionCode:Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.createFunctionDescriptor:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
astore 6
start local 6 1: aload 6
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor.getFunctionCode:()Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
aload 3
aload 0
getfield com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionCode.define:(Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
2: aload 6
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.create:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
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 3 0 this Lcom/oracle/truffle/llvm/initialization/AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode;
0 3 1 localScope Lcom/oracle/truffle/llvm/runtime/LLVMLocalScope;
0 3 2 globalScope Lcom/oracle/truffle/llvm/runtime/LLVMScope;
0 3 3 intrinsicProvider Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
0 3 4 nativeContextExtension Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;
0 3 5 context Lcom/oracle/truffle/llvm/runtime/LLVMContext;
1 3 6 functionDescriptor Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
com.oracle.truffle.api.dsl.Specialization(guards = {"intrinsicProvider != null", "localScope.get(symbol.getName()) == null", "globalScope.get(symbol.getName()) == null", "intrinsicProvider.isIntrinsified(symbol.getName())", "symbol.isFunction()"})
MethodParameters:
Name Flags
localScope
globalScope
intrinsicProvider
nativeContextExtension
context
com.oracle.truffle.llvm.runtime.pointer.LLVMPointer allocateNativeFunction(com.oracle.truffle.llvm.runtime.LLVMLocalScope, com.oracle.truffle.llvm.runtime.LLVMScope, com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider, com.oracle.truffle.llvm.runtime.NativeContextExtension, com.oracle.truffle.llvm.runtime.LLVMContext);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMLocalScope;Lcom/oracle/truffle/llvm/runtime/LLVMScope;Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
flags: (0x0000)
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
aload 0
getfield com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode.symbol:Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getName:()Ljava/lang/String;
invokevirtual com.oracle.truffle.llvm.runtime.NativeContextExtension.getNativeFunctionOrNull:(Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/NativeContextExtension$NativeLookupResult;
astore 6
start local 6 1: aload 6
ifnull 5
2: aload 5
aload 0
getfield com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode.symbol:Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.asFunction:()Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
new com.oracle.truffle.llvm.runtime.LLVMFunctionCode
dup
aload 0
getfield com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode.symbol:Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.asFunction:()Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
invokespecial com.oracle.truffle.llvm.runtime.LLVMFunctionCode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;)V
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.createFunctionDescriptor:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
astore 7
start local 7 3: aload 7
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor.getFunctionCode:()Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
new com.oracle.truffle.llvm.runtime.LLVMFunctionCode$NativeFunction
dup
aload 6
invokevirtual com.oracle.truffle.llvm.runtime.NativeContextExtension$NativeLookupResult.getObject:()Ljava/lang/Object;
invokespecial com.oracle.truffle.llvm.runtime.LLVMFunctionCode$NativeFunction.<init>:(Ljava/lang/Object;)V
invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionCode.define:(Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode$Function;)V
4: aload 7
invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.create:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
areturn
end local 7 5: StackMap locals: com.oracle.truffle.llvm.runtime.NativeContextExtension$NativeLookupResult
StackMap stack:
aconst_null
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 6 0 this Lcom/oracle/truffle/llvm/initialization/AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode;
0 6 1 localScope Lcom/oracle/truffle/llvm/runtime/LLVMLocalScope;
0 6 2 globalScope Lcom/oracle/truffle/llvm/runtime/LLVMScope;
0 6 3 intrinsicProvider Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
0 6 4 nativeContextExtension Lcom/oracle/truffle/llvm/runtime/NativeContextExtension;
0 6 5 context Lcom/oracle/truffle/llvm/runtime/LLVMContext;
1 6 6 nativeFunction Lcom/oracle/truffle/llvm/runtime/NativeContextExtension$NativeLookupResult;
3 5 7 functionDescriptor Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
com.oracle.truffle.api.dsl.Specialization(guards = {"localScope.get(symbol.getName()) == null", "globalScope.get(symbol.getName()) == null", "!intrinsicProvider.isIntrinsified(symbol.getName())", "nativeContextExtension != null", "symbol.isFunction()"})
MethodParameters:
Name Flags
localScope
globalScope
intrinsicProvider
nativeContextExtension
context
}
SourceFile: "AllocExternalSymbolNode.java"
NestHost: com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
abstract AllocExistingLocalSymbolsNode = com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode of com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode
abstract AllocExistingGlobalSymbolsNode = com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode of com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode
abstract AllocExternalFunctionNode = com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode$AllocExternalFunctionNode of com.oracle.truffle.llvm.initialization.AllocExternalSymbolNode$AllocExistingLocalSymbolsNode$AllocExistingGlobalSymbolsNode
public abstract Function = com.oracle.truffle.llvm.runtime.LLVMFunctionCode$Function of com.oracle.truffle.llvm.runtime.LLVMFunctionCode
public final NativeFunction = com.oracle.truffle.llvm.runtime.LLVMFunctionCode$NativeFunction of com.oracle.truffle.llvm.runtime.LLVMFunctionCode
public final NativeLookupResult = com.oracle.truffle.llvm.runtime.NativeContextExtension$NativeLookupResult of com.oracle.truffle.llvm.runtime.NativeContextExtension