final class com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode extends com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode
  super_class: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode
{
  private final com.oracle.truffle.llvm.runtime.NodeFactory nodeFactory;
    descriptor: Lcom/oracle/truffle/llvm/runtime/NodeFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider intrinsicProvider;
    descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
    flags: (0x0000) 

  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.LLVMFunction, com.oracle.truffle.llvm.runtime.LLVMFunctionCode, com.oracle.truffle.llvm.runtime.NodeFactory, com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMFunction;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;Lcom/oracle/truffle/llvm/runtime/NodeFactory;Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode this
        start local 1 // com.oracle.truffle.llvm.runtime.LLVMFunction function
        start local 2 // com.oracle.truffle.llvm.runtime.LLVMFunctionCode functionCode
        start local 3 // com.oracle.truffle.llvm.runtime.NodeFactory nodeFactory
        start local 4 // com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider intrinsicProvider
         0: .line 358
            aload 0 /* this */
            aload 1 /* function */
            invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)V
         1: .line 359
            aload 0 /* this */
            aload 2 /* functionCode */
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.functionCode:Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
         2: .line 360
            aload 0 /* this */
            aload 3 /* nodeFactory */
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
         3: .line 361
            aload 0 /* this */
            aload 4 /* intrinsicProvider */
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.intrinsicProvider:Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
         4: .line 362
            return
        end local 4 // com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider intrinsicProvider
        end local 3 // com.oracle.truffle.llvm.runtime.NodeFactory nodeFactory
        end local 2 // com.oracle.truffle.llvm.runtime.LLVMFunctionCode functionCode
        end local 1 // com.oracle.truffle.llvm.runtime.LLVMFunction function
        end local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocIntrinsicFunctionNode;
            0    5     1           function  Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
            0    5     2       functionCode  Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
            0    5     3        nodeFactory  Lcom/oracle/truffle/llvm/runtime/NodeFactory;
            0    5     4  intrinsicProvider  Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
    MethodParameters:
                   Name  Flags
      function           
      functionCode       
      nodeFactory        
      intrinsicProvider  

  private com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor createAndDefine(com.oracle.truffle.llvm.runtime.LLVMContext);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode this
        start local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
         0: .line 366
            aload 1 /* context */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.symbol:Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.asFunction:()Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.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 2 /* functionDescriptor */
        start local 2 // com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor functionDescriptor
         1: .line 367
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.intrinsicProvider:Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.symbol:Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getName:()Ljava/lang/String;
            invokeinterface com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider.isIntrinsified:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 368
            aload 2 /* functionDescriptor */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor.getFunctionCode:()Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.intrinsicProvider:Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.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
         3: .line 369
            aload 2 /* functionDescriptor */
            areturn
         4: .line 371
      StackMap locals: com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to allocate intrinsic function "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.symbol:Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor functionDescriptor
        end local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
        end local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocIntrinsicFunctionNode;
            0    5     1             context  Lcom/oracle/truffle/llvm/runtime/LLVMContext;
            1    5     2  functionDescriptor  Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
         Name  Flags
      context  

  com.oracle.truffle.llvm.runtime.pointer.LLVMPointer allocate(com.oracle.truffle.llvm.runtime.LLVMContext);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode this
        start local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
         0: .line 376
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.createAndDefine:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
            astore 2 /* functionDescriptor */
        start local 2 // com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor functionDescriptor
         1: .line 377
            aload 2 /* functionDescriptor */
            invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.create:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
            areturn
        end local 2 // com.oracle.truffle.llvm.runtime.LLVMFunctionDescriptor functionDescriptor
        end local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
        end local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocIntrinsicFunctionNode;
            0    2     1             context  Lcom/oracle/truffle/llvm/runtime/LLVMContext;
            1    2     2  functionDescriptor  Lcom/oracle/truffle/llvm/runtime/LLVMFunctionDescriptor;
    MethodParameters:
         Name  Flags
      context  
}
SourceFile: "InitializeSymbolsNode.java"
NestHost: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  final AllocIntrinsicFunctionNode = com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode of com.oracle.truffle.llvm.initialization.InitializeSymbolsNode
  abstract AllocSymbolNode = com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode of com.oracle.truffle.llvm.initialization.InitializeSymbolsNode