public final class com.oracle.truffle.llvm.initialization.InitializeSymbolsNode extends com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode
  super_class: com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
{
  private final java.lang.String moduleName;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.oracle.truffle.llvm.runtime.memory.LLVMAllocateNode allocRoSection;
    descriptor: Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private com.oracle.truffle.llvm.runtime.memory.LLVMAllocateNode allocRwSection;
    descriptor: Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  private final int[] globalOffsets;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)

  private final boolean[] globalIsReadOnly;
    descriptor: [Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)

  private final com.oracle.truffle.llvm.runtime.LLVMSymbol[] globals;
    descriptor: [Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)

  private final com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode[] allocFuncs;
    descriptor: [Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Children()

  private final com.oracle.truffle.llvm.runtime.LLVMSymbol[] functions;
    descriptor: [Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$CompilationFinal(dimensions = 1)

  private final com.oracle.truffle.llvm.runtime.LLVMScope fileScope;
    descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMScope;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.llvm.runtime.NodeFactory nodeFactory;
    descriptor: Lcom/oracle/truffle/llvm/runtime/NodeFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int bitcodeID;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int globalLength;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 74
            ldc Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.truffle.llvm.parser.LLVMParserResult, boolean, boolean, java.lang.String);
    descriptor: (Lcom/oracle/truffle/llvm/parser/LLVMParserResult;ZZLjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=17, args_size=5
        start local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
        start local 1 // com.oracle.truffle.llvm.parser.LLVMParserResult result
        start local 2 // boolean lazyParsing
        start local 3 // boolean isInternalSulongLibrary
        start local 4 // java.lang.String moduleName
         0: .line 98
            aload 0 /* this */
            invokespecial com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode.<init>:()V
         1: .line 99
            aload 1 /* result */
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getDataLayout:()Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            astore 5 /* dataLayout */
        start local 5 // com.oracle.truffle.llvm.runtime.datalayout.DataLayout dataLayout
         2: .line 100
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getRuntime:()Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserRuntime.getNodeFactory:()Lcom/oracle/truffle/llvm/runtime/NodeFactory;
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
         3: .line 101
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getRuntime:()Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserRuntime.getFileScope:()Lcom/oracle/truffle/llvm/runtime/LLVMScope;
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.fileScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
         4: .line 102
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getSymbolTableSize:()I
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalLength:I
         5: .line 103
            aload 0 /* this */
            aload 1 /* result */
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getRuntime:()Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserRuntime.getBitcodeID:()I
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.bitcodeID:I
         6: .line 104
            aload 0 /* this */
            aload 4 /* moduleName */
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.moduleName:Ljava/lang/String;
         7: .line 108
            new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection
            dup
            aload 5 /* dataLayout */
            invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection.<init>:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)V
            astore 6 /* roSection */
        start local 6 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection roSection
         8: .line 109
            new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection
            dup
            aload 5 /* dataLayout */
            invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection.<init>:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)V
            astore 7 /* rwSection */
        start local 7 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection rwSection
         9: .line 110
            aload 1 /* result */
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getDefinedGlobals:()Ljava/util/List;
            astore 8 /* definedGlobals */
        start local 8 // java.util.List definedGlobals
        10: .line 111
            aload 8 /* definedGlobals */
            invokeinterface java.util.List.size:()I
            istore 9 /* globalsCount */
        start local 9 // int globalsCount
        11: .line 112
            aload 0 /* this */
            iload 9 /* globalsCount */
            newarray 10
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
        12: .line 113
            aload 0 /* this */
            iload 9 /* globalsCount */
            newarray 4
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalIsReadOnly:[Z
        13: .line 114
            aload 0 /* this */
            iload 9 /* globalsCount */
            anewarray com.oracle.truffle.llvm.runtime.LLVMSymbol
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
        14: .line 115
            invokestatic com.oracle.truffle.llvm.runtime.LLVMLanguage.getLanguage:()Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
            ldc Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMLanguage.getCapability:(Ljava/lang/Class;)Lcom/oracle/truffle/llvm/runtime/config/LLVMCapability;
            checkcast com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider
            astore 10 /* intrinsicProvider */
        start local 10 // com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider intrinsicProvider
        15: .line 117
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        16: goto 36
        17: .line 118
      StackMap locals: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode com.oracle.truffle.llvm.parser.LLVMParserResult int int java.lang.String com.oracle.truffle.llvm.runtime.datalayout.DataLayout com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection java.util.List int com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider int
      StackMap stack:
            aload 8 /* definedGlobals */
            iload 11 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable
            astore 12 /* global */
        start local 12 // com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable global
        18: .line 119
            aload 12 /* global */
            invokevirtual com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable.getType:()Lcom/oracle/truffle/llvm/runtime/types/PointerType;
            invokevirtual com.oracle.truffle.llvm.runtime.types.PointerType.getPointeeType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 13 /* type */
        start local 13 // com.oracle.truffle.llvm.runtime.types.Type type
        19: .line 120
            aload 13 /* type */
            invokestatic com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.isSpecialGlobalSlot:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Z
            ifeq 22
        20: .line 121
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
            iload 11 /* i */
            iconst_m1
            iastore
        21: .line 122
            goto 33
        22: .line 124
      StackMap locals: com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable com.oracle.truffle.llvm.runtime.types.Type
      StackMap stack:
            aload 13 /* type */
            aload 5 /* dataLayout */
            invokevirtual com.oracle.truffle.llvm.runtime.types.Type.getSize:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)J
            lconst_0
            lcmp
            ifne 24
        23: .line 125
            bipush 8
            invokestatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.getIntegerType:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
            astore 13 /* type */
        24: .line 127
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalIsReadOnly:[Z
            iload 11 /* i */
            aload 12 /* global */
            invokevirtual com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable.isReadOnly:()Z
            bastore
        25: .line 128
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalIsReadOnly:[Z
            iload 11 /* i */
            baload
            ifeq 26
            aload 6 /* roSection */
            goto 27
      StackMap locals:
      StackMap stack:
        26: aload 7 /* rwSection */
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection
        27: astore 14 /* dataSection */
        start local 14 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection dataSection
        28: .line 129
            aload 14 /* dataSection */
            aload 12 /* global */
            aload 13 /* type */
            invokevirtual com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection.add:(Lcom/oracle/truffle/llvm/parser/model/symbols/globals/GlobalVariable;Lcom/oracle/truffle/llvm/runtime/types/Type;)J
            lstore 15 /* offset */
        start local 15 // long offset
        29: .line 130
            getstatic com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.$assertionsDisabled:Z
            ifne 30
            lload 15 /* offset */
            lconst_0
            lcmp
            ifge 30
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        30: .line 131
      StackMap locals: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection long
      StackMap stack:
            lload 15 /* offset */
            ldc 2147483647
            lcmp
            ifle 32
        31: .line 132
            ldc "globals section >2GB not supported"
            invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        32: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
            iload 11 /* i */
            lload 15 /* offset */
            l2i
            iastore
        end local 15 // long offset
        end local 14 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection dataSection
        33: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.fileScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
            aload 12 /* global */
            invokevirtual com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable.getName:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMScope.get:(Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            astore 14 /* symbol */
        start local 14 // com.oracle.truffle.llvm.runtime.LLVMSymbol symbol
        34: .line 137
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            iload 11 /* i */
            aload 14 /* symbol */
            aastore
        end local 14 // com.oracle.truffle.llvm.runtime.LLVMSymbol symbol
        end local 13 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 12 // com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable global
        35: .line 117
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        36: iload 11 /* i */
            iload 9 /* globalsCount */
            if_icmplt 17
        end local 11 // int i
        37: .line 145
            aload 1 /* result */
            invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getDefinedFunctions:()Ljava/util/List;
            astore 11 /* definedFunctions */
        start local 11 // java.util.List definedFunctions
        38: .line 146
            aload 11 /* definedFunctions */
            invokeinterface java.util.List.size:()I
            istore 12 /* functionCount */
        start local 12 // int functionCount
        39: .line 147
            aload 0 /* this */
            iload 12 /* functionCount */
            anewarray com.oracle.truffle.llvm.runtime.LLVMSymbol
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.functions:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
        40: .line 148
            aload 0 /* this */
            iload 12 /* functionCount */
            anewarray com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
        41: .line 149
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        42: goto 55
        43: .line 150
      StackMap locals: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode com.oracle.truffle.llvm.parser.LLVMParserResult int int java.lang.String com.oracle.truffle.llvm.runtime.datalayout.DataLayout com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection java.util.List int com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider java.util.List int int
      StackMap stack:
            aload 11 /* definedFunctions */
            iload 13 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.llvm.parser.model.functions.FunctionSymbol
            astore 14 /* functionSymbol */
        start local 14 // com.oracle.truffle.llvm.parser.model.functions.FunctionSymbol functionSymbol
        44: .line 151
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.fileScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
            aload 14 /* functionSymbol */
            invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionSymbol.getName:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMScope.getFunction:(Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
            astore 15 /* function */
        start local 15 // com.oracle.truffle.llvm.runtime.LLVMFunction function
        45: .line 152
            new com.oracle.truffle.llvm.runtime.LLVMFunctionCode
            dup
            aload 15 /* function */
            invokespecial com.oracle.truffle.llvm.runtime.LLVMFunctionCode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;)V
            astore 16 /* functionCode */
        start local 16 // com.oracle.truffle.llvm.runtime.LLVMFunctionCode functionCode
        46: .line 154
            iload 3 /* isInternalSulongLibrary */
            ifeq 49
            aload 10 /* intrinsicProvider */
            aload 15 /* function */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMFunction.getName:()Ljava/lang/String;
            invokeinterface com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider.isIntrinsified:(Ljava/lang/String;)Z
            ifeq 49
        47: .line 155
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
            iload 13 /* i */
            new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode
            dup
            aload 15 /* function */
            aload 16 /* functionCode */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
            aload 10 /* intrinsicProvider */
            invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode.<init>:(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
            aastore
        48: .line 156
            goto 53
      StackMap locals: com.oracle.truffle.llvm.parser.model.functions.FunctionSymbol com.oracle.truffle.llvm.runtime.LLVMFunction com.oracle.truffle.llvm.runtime.LLVMFunctionCode
      StackMap stack:
        49: iload 2 /* lazyParsing */
            ifeq 52
        50: .line 157
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
            iload 13 /* i */
            new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMFunctionNode
            dup
            aload 15 /* function */
            aload 16 /* functionCode */
            invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMFunctionNode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)V
            aastore
        51: .line 158
            goto 53
        52: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
            iload 13 /* i */
            new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMEagerFunctionNode
            dup
            aload 15 /* function */
            aload 16 /* functionCode */
            invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMEagerFunctionNode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)V
            aastore
        53: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.functions:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            iload 13 /* i */
            aload 15 /* function */
            aastore
        end local 16 // com.oracle.truffle.llvm.runtime.LLVMFunctionCode functionCode
        end local 15 // com.oracle.truffle.llvm.runtime.LLVMFunction function
        end local 14 // com.oracle.truffle.llvm.parser.model.functions.FunctionSymbol functionSymbol
        54: .line 149
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 13 /* i */
            iload 12 /* functionCount */
            if_icmplt 43
        end local 13 // int i
        56: .line 163
            aload 0 /* this */
            aload 6 /* roSection */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
            ldc "roglobals_struct"
            iconst_1
            invokevirtual com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection.getAllocateNode:(Lcom/oracle/truffle/llvm/runtime/NodeFactory;Ljava/lang/String;Z)Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocRoSection:Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
        57: .line 164
            aload 0 /* this */
            aload 7 /* rwSection */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
            ldc "rwglobals_struct"
            iconst_0
            invokevirtual com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection.getAllocateNode:(Lcom/oracle/truffle/llvm/runtime/NodeFactory;Ljava/lang/String;Z)Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
            putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocRwSection:Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
        58: .line 165
            return
        end local 12 // int functionCount
        end local 11 // java.util.List definedFunctions
        end local 10 // com.oracle.truffle.llvm.runtime.LLVMIntrinsicProvider intrinsicProvider
        end local 9 // int globalsCount
        end local 8 // java.util.List definedGlobals
        end local 7 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection rwSection
        end local 6 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection roSection
        end local 5 // com.oracle.truffle.llvm.runtime.datalayout.DataLayout dataLayout
        end local 4 // java.lang.String moduleName
        end local 3 // boolean isInternalSulongLibrary
        end local 2 // boolean lazyParsing
        end local 1 // com.oracle.truffle.llvm.parser.LLVMParserResult result
        end local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   59     0                     this  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode;
            0   59     1                   result  Lcom/oracle/truffle/llvm/parser/LLVMParserResult;
            0   59     2              lazyParsing  Z
            0   59     3  isInternalSulongLibrary  Z
            0   59     4               moduleName  Ljava/lang/String;
            2   59     5               dataLayout  Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            8   59     6                roSection  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$DataSection;
            9   59     7                rwSection  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$DataSection;
           10   59     8           definedGlobals  Ljava/util/List<Lcom/oracle/truffle/llvm/parser/model/symbols/globals/GlobalVariable;>;
           11   59     9             globalsCount  I
           15   59    10        intrinsicProvider  Lcom/oracle/truffle/llvm/runtime/LLVMIntrinsicProvider;
           16   37    11                        i  I
           18   35    12                   global  Lcom/oracle/truffle/llvm/parser/model/symbols/globals/GlobalVariable;
           19   35    13                     type  Lcom/oracle/truffle/llvm/runtime/types/Type;
           28   33    14              dataSection  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$DataSection;
           29   33    15                   offset  J
           34   35    14                   symbol  Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
           38   59    11         definedFunctions  Ljava/util/List<Lcom/oracle/truffle/llvm/parser/model/functions/FunctionSymbol;>;
           39   59    12            functionCount  I
           42   56    13                        i  I
           44   54    14           functionSymbol  Lcom/oracle/truffle/llvm/parser/model/functions/FunctionSymbol;
           45   54    15                 function  Lcom/oracle/truffle/llvm/runtime/LLVMFunction;
           46   54    16             functionCode  Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;
    Exceptions:
      throws com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
                         Name  Flags
      result                   
      lazyParsing              
      isInternalSulongLibrary  
      moduleName               

  public void initializeSymbolTable(com.oracle.truffle.llvm.runtime.LLVMContext);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
        start local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
         0: .line 168
            aload 1 /* context */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.bitcodeID:I
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalLength:I
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.initializeSymbolTable:(II)V
         1: .line 169
            aload 1 /* context */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.fileScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.registerScope:(Lcom/oracle/truffle/llvm/runtime/LLVMScope;)V
         2: .line 170
            return
        end local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
        end local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode;
            0    3     1  context  Lcom/oracle/truffle/llvm/runtime/LLVMContext;
    MethodParameters:
         Name  Flags
      context  

  public com.oracle.truffle.llvm.runtime.pointer.LLVMPointer execute(com.oracle.truffle.llvm.runtime.LLVMContext);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
        start local 1 // com.oracle.truffle.llvm.runtime.LLVMContext ctx
         0: .line 173
            aload 1 /* ctx */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.loaderTraceStream:()Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
            ifnull 2
         1: .line 174
            aload 1 /* ctx */
            ldc "symbol initializers"
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.moduleName:Ljava/lang/String;
            invokestatic com.oracle.truffle.llvm.runtime.LibraryLocator.traceStaticInits:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocRoSection:Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
            invokestatic com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocOrNull:(Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
            astore 2 /* roBase */
        start local 2 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer roBase
         3: .line 177
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocRwSection:Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
            invokestatic com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocOrNull:(Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
            astore 3 /* rwBase */
        start local 3 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer rwBase
         4: .line 179
            aload 0 /* this */
            aload 1 /* ctx */
            aload 2 /* roBase */
            aload 3 /* rwBase */
            invokevirtual com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocGlobals:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
         5: .line 180
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFunctions:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)V
         6: .line 182
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocRoSection:Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
            ifnull 8
         7: .line 183
            aload 1 /* ctx */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.bitcodeID:I
            aload 2 /* roBase */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.registerReadOnlyGlobals:(ILcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
         8: .line 185
      StackMap locals: com.oracle.truffle.llvm.runtime.pointer.LLVMPointer com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocRwSection:Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
            ifnull 10
         9: .line 186
            aload 1 /* ctx */
            aload 3 /* rwBase */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.registerGlobals:(Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
        10: .line 188
      StackMap locals:
      StackMap stack:
            aload 2 /* roBase */
            areturn
        end local 3 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer rwBase
        end local 2 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer roBase
        end local 1 // com.oracle.truffle.llvm.runtime.LLVMContext ctx
        end local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode;
            0   11     1     ctx  Lcom/oracle/truffle/llvm/runtime/LLVMContext;
            3   11     2  roBase  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
            4   11     3  rwBase  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
    MethodParameters:
      Name  Flags
      ctx   

  private void allocGlobals(com.oracle.truffle.llvm.runtime.LLVMContext, com.oracle.truffle.llvm.runtime.pointer.LLVMPointer, com.oracle.truffle.llvm.runtime.pointer.LLVMPointer);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMContext;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
        start local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
        start local 2 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer roBase
        start local 3 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer rwBase
         0: .line 192
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 20
         2: .line 193
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            iload 4 /* i */
            aaload
            astore 5 /* allocGlobal */
        start local 5 // com.oracle.truffle.llvm.runtime.LLVMSymbol allocGlobal
         3: .line 194
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.fileScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
            aload 5 /* allocGlobal */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getName:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMScope.getGlobalVariable:(Ljava/lang/String;)Lcom/oracle/truffle/llvm/runtime/global/LLVMGlobal;
            astore 6 /* descriptor */
        start local 6 // com.oracle.truffle.llvm.runtime.global.LLVMGlobal descriptor
         4: .line 195
            aload 6 /* descriptor */
            ifnonnull 7
         5: .line 196
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
         6: .line 197
            new java.lang.IllegalStateException
            dup
            ldc "Global variable %s not found"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* allocGlobal */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMSymbol.getName:()Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 199
      StackMap locals: com.oracle.truffle.llvm.runtime.LLVMSymbol com.oracle.truffle.llvm.runtime.global.LLVMGlobal
      StackMap stack:
            aload 1 /* context */
            aload 5 /* allocGlobal */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.checkSymbol:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)Z
            ifne 19
         8: .line 203
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
            iload 4 /* i */
            iaload
            iconst_m1
            if_icmpne 11
         9: .line 204
            new com.oracle.truffle.llvm.runtime.global.LLVMGlobalContainer
            dup
            invokespecial com.oracle.truffle.llvm.runtime.global.LLVMGlobalContainer.<init>:()V
            invokestatic com.oracle.truffle.llvm.runtime.pointer.LLVMManagedPointer.create:(Ljava/lang/Object;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMManagedPointer;
            astore 7 /* ref */
        start local 7 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer ref
        10: .line 205
            goto 15
        end local 7 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer ref
        11: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalIsReadOnly:[Z
            iload 4 /* i */
            baload
            ifeq 12
            aload 2 /* roBase */
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 3 /* rwBase */
      StackMap locals:
      StackMap stack: com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
        13: astore 8 /* base */
        start local 8 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer base
        14: .line 207
            aload 8 /* base */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
            iload 4 /* i */
            iaload
            i2l
            invokeinterface com.oracle.truffle.llvm.runtime.pointer.LLVMPointer.increment:(J)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
            astore 7 /* ref */
        end local 8 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer base
        start local 7 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer ref
        15: .line 209
      StackMap locals: com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
      StackMap stack:
            aload 1 /* context */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            iload 4 /* i */
            aaload
            aload 7 /* ref */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.initializeSymbol:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
        16: .line 210
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 8 /* list */
        start local 8 // java.util.List list
        17: .line 211
            aload 8 /* list */
            aload 6 /* descriptor */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        18: .line 212
            aload 1 /* context */
            aload 8 /* list */
            aload 7 /* ref */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.registerSymbolReverseMap:(Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
        end local 8 // java.util.List list
        end local 7 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer ref
        end local 6 // com.oracle.truffle.llvm.runtime.global.LLVMGlobal descriptor
        end local 5 // com.oracle.truffle.llvm.runtime.LLVMSymbol allocGlobal
        19: .line 192
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            arraylength
            if_icmplt 2
        end local 4 // int i
        21: .line 215
            return
        end local 3 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer rwBase
        end local 2 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer roBase
        end local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
        end local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode;
            0   22     1      context  Lcom/oracle/truffle/llvm/runtime/LLVMContext;
            0   22     2       roBase  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
            0   22     3       rwBase  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
            1   21     4            i  I
            3   19     5  allocGlobal  Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            4   19     6   descriptor  Lcom/oracle/truffle/llvm/runtime/global/LLVMGlobal;
           10   11     7          ref  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
           15   19     7          ref  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
           14   15     8         base  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
           17   19     8         list  Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;>;
    MethodParameters:
         Name  Flags
      context  
      roBase   
      rwBase   

  private void allocFunctions(com.oracle.truffle.llvm.runtime.LLVMContext);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
        start local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
         0: .line 218
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 9
         2: .line 219
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
            iload 2 /* i */
            aaload
            astore 3 /* allocSymbol */
        start local 3 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode allocSymbol
         3: .line 220
            aload 3 /* allocSymbol */
            aload 1 /* context */
            invokevirtual com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode.allocate:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
            astore 4 /* pointer */
        start local 4 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer pointer
         4: .line 221
            aload 1 /* context */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.functions:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            iload 2 /* i */
            aaload
            aload 4 /* pointer */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.initializeSymbol:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
         5: .line 222
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* list */
        start local 5 // java.util.List list
         6: .line 223
            aload 5 /* list */
            aload 3 /* allocSymbol */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode.symbol:Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 224
            aload 1 /* context */
            aload 5 /* list */
            aload 4 /* pointer */
            invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.registerSymbolReverseMap:(Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
        end local 5 // java.util.List list
        end local 4 // com.oracle.truffle.llvm.runtime.pointer.LLVMPointer pointer
        end local 3 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode allocSymbol
         8: .line 218
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 0 /* this */
            getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
            arraylength
            if_icmplt 2
        end local 2 // int i
        10: .line 226
            return
        end local 1 // com.oracle.truffle.llvm.runtime.LLVMContext context
        end local 0 // com.oracle.truffle.llvm.initialization.InitializeSymbolsNode this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode;
            0   11     1      context  Lcom/oracle/truffle/llvm/runtime/LLVMContext;
            1   10     2            i  I
            3    8     3  allocSymbol  Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
            4    8     4      pointer  Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
            6    8     5         list  Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;>;
    MethodParameters:
         Name  Flags
      context  

  private static com.oracle.truffle.llvm.runtime.pointer.LLVMPointer allocOrNull(com.oracle.truffle.llvm.runtime.memory.LLVMAllocateNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.memory.LLVMAllocateNode allocNode
         0: .line 229
            aload 0 /* allocNode */
            ifnull 2
         1: .line 230
            aload 0 /* allocNode */
            invokeinterface com.oracle.truffle.llvm.runtime.memory.LLVMAllocateNode.executeWithTarget:()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
            areturn
         2: .line 232
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // com.oracle.truffle.llvm.runtime.memory.LLVMAllocateNode allocNode
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  allocNode  Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
    MethodParameters:
           Name  Flags
      allocNode  

  private static void addPaddingTypes(java.util.ArrayList<com.oracle.truffle.llvm.runtime.types.Type>, );
    descriptor: (Ljava/util/ArrayList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.util.ArrayList result
        start local 1 // int padding
         0: .line 237
            getstatic com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.$assertionsDisabled:Z
            ifne 1
            iload 1 /* padding */
            ifge 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 238
      StackMap locals:
      StackMap stack:
            iload 1 /* padding */
            istore 2 /* remaining */
        start local 2 // int remaining
         2: .line 239
            goto 6
         3: .line 240
      StackMap locals: int
      StackMap stack:
            bipush 8
            iload 2 /* remaining */
            invokestatic java.lang.Integer.highestOneBit:(I)I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* size */
        start local 3 // int size
         4: .line 241
            aload 0 /* result */
            iload 3 /* size */
            bipush 8
            imul
            invokestatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.getIntegerType:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 242
            iload 2 /* remaining */
            iload 3 /* size */
            isub
            istore 2 /* remaining */
        end local 3 // int size
         6: .line 239
      StackMap locals:
      StackMap stack:
            iload 2 /* remaining */
            ifgt 3
         7: .line 244
            return
        end local 2 // int remaining
        end local 1 // int padding
        end local 0 // java.util.ArrayList result
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0     result  Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/runtime/types/Type;>;
            0    8     1    padding  I
            2    8     2  remaining  I
            4    6     3       size  I
    Signature: (Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/runtime/types/Type;>;I)V
    MethodParameters:
         Name  Flags
      result   
      padding  

  private static boolean isSpecialGlobalSlot(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 251
            aload 0 /* type */
            instanceof com.oracle.truffle.llvm.runtime.types.PointerType
            ireturn
        end local 0 // com.oracle.truffle.llvm.runtime.types.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
      Name  Flags
      type  

  private static int getAlignment(com.oracle.truffle.llvm.runtime.datalayout.DataLayout, com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;Lcom/oracle/truffle/llvm/parser/model/symbols/globals/GlobalVariable;Lcom/oracle/truffle/llvm/runtime/types/Type;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.llvm.runtime.datalayout.DataLayout dataLayout
        start local 1 // com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable global
        start local 2 // com.oracle.truffle.llvm.runtime.types.Type type
         0: .line 255
            aload 1 /* global */
            invokevirtual com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable.getAlign:()I
            ifle 1
            iconst_1
            aload 1 /* global */
            invokevirtual com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable.getAlign:()I
            iconst_1
            isub
            ishl
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* type */
            aload 0 /* dataLayout */
            invokevirtual com.oracle.truffle.llvm.runtime.types.Type.getAlignment:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // com.oracle.truffle.llvm.runtime.types.Type type
        end local 1 // com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable global
        end local 0 // com.oracle.truffle.llvm.runtime.datalayout.DataLayout dataLayout
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  dataLayout  Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
            0    3     1      global  Lcom/oracle/truffle/llvm/parser/model/symbols/globals/GlobalVariable;
            0    3     2        type  Lcom/oracle/truffle/llvm/runtime/types/Type;
    MethodParameters:
            Name  Flags
      dataLayout  
      global      
      type        
}
SourceFile: "InitializeSymbolsNode.java"
NestMembers:
  com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode  com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMEagerFunctionNode  com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMFunctionNode  com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode  com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection
InnerClasses:
  public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
  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
  final AllocIntrinsicFunctionNode = com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode of com.oracle.truffle.llvm.initialization.InitializeSymbolsNode
  final AllocLLVMEagerFunctionNode = com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMEagerFunctionNode of com.oracle.truffle.llvm.initialization.InitializeSymbolsNode
  final AllocLLVMFunctionNode = com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMFunctionNode of com.oracle.truffle.llvm.initialization.InitializeSymbolsNode
  abstract AllocSymbolNode = com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode of com.oracle.truffle.llvm.initialization.InitializeSymbolsNode
  final DataSection = com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection of com.oracle.truffle.llvm.initialization.InitializeSymbolsNode
  public final TypeOverflowException = com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException of com.oracle.truffle.llvm.runtime.types.Type