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: 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode.<init>:()V
1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getDataLayout:()Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
astore 5
start local 5 2: aload 0
aload 1
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: aload 0
aload 1
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: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getSymbolTableSize:()I
putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalLength:I
5: aload 0
aload 1
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: aload 0
aload 4
putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.moduleName:Ljava/lang/String;
7: new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection
dup
aload 5
invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection.<init>:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)V
astore 6
start local 6 8: new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection
dup
aload 5
invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection.<init>:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)V
astore 7
start local 7 9: aload 1
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getDefinedGlobals:()Ljava/util/List;
astore 8
start local 8 10: aload 8
invokeinterface java.util.List.size:()I
istore 9
start local 9 11: aload 0
iload 9
newarray 10
putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
12: aload 0
iload 9
newarray 4
putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalIsReadOnly:[Z
13: aload 0
iload 9
anewarray com.oracle.truffle.llvm.runtime.LLVMSymbol
putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
14: 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
start local 10 15: iconst_0
istore 11
start local 11 16: goto 36
17: 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
iload 11
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable
astore 12
start local 12 18: aload 12
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
start local 13 19: aload 13
invokestatic com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.isSpecialGlobalSlot:(Lcom/oracle/truffle/llvm/runtime/types/Type;)Z
ifeq 22
20: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
iload 11
iconst_m1
iastore
21: goto 33
22: StackMap locals: com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable com.oracle.truffle.llvm.runtime.types.Type
StackMap stack:
aload 13
aload 5
invokevirtual com.oracle.truffle.llvm.runtime.types.Type.getSize:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)J
lconst_0
lcmp
ifne 24
23: bipush 8
invokestatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.getIntegerType:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 13
24: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalIsReadOnly:[Z
iload 11
aload 12
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable.isReadOnly:()Z
bastore
25: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalIsReadOnly:[Z
iload 11
baload
ifeq 26
aload 6
goto 27
StackMap locals:
StackMap stack:
26: aload 7
StackMap locals:
StackMap stack: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection
27: astore 14
start local 14 28: aload 14
aload 12
aload 13
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
start local 15 29: getstatic com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.$assertionsDisabled:Z
ifne 30
lload 15
lconst_0
lcmp
ifge 30
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
30: StackMap locals: com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$DataSection long
StackMap stack:
lload 15
ldc 2147483647
lcmp
ifle 32
31: ldc "globals section >2GB not supported"
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
32: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
iload 11
lload 15
l2i
iastore
end local 15 end local 14 33: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.fileScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
aload 12
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
start local 14 34: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
iload 11
aload 14
aastore
end local 14 end local 13 end local 12 35: iinc 11 1
StackMap locals:
StackMap stack:
36: iload 11
iload 9
if_icmplt 17
end local 11 37: aload 1
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getDefinedFunctions:()Ljava/util/List;
astore 11
start local 11 38: aload 11
invokeinterface java.util.List.size:()I
istore 12
start local 12 39: aload 0
iload 12
anewarray com.oracle.truffle.llvm.runtime.LLVMSymbol
putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.functions:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
40: aload 0
iload 12
anewarray com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode
putfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
41: iconst_0
istore 13
start local 13 42: goto 55
43: 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
iload 13
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.functions.FunctionSymbol
astore 14
start local 14 44: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.fileScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
aload 14
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
start local 15 45: new com.oracle.truffle.llvm.runtime.LLVMFunctionCode
dup
aload 15
invokespecial com.oracle.truffle.llvm.runtime.LLVMFunctionCode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;)V
astore 16
start local 16 46: iload 3
ifeq 49
aload 10
aload 15
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: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
iload 13
new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocIntrinsicFunctionNode
dup
aload 15
aload 16
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 10
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: 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
ifeq 52
50: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
iload 13
new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMFunctionNode
dup
aload 15
aload 16
invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMFunctionNode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)V
aastore
51: goto 53
52: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
iload 13
new com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMEagerFunctionNode
dup
aload 15
aload 16
invokespecial com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocLLVMEagerFunctionNode.<init>:(Lcom/oracle/truffle/llvm/runtime/LLVMFunction;Lcom/oracle/truffle/llvm/runtime/LLVMFunctionCode;)V
aastore
53: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.functions:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
iload 13
aload 15
aastore
end local 16 end local 15 end local 14 54: iinc 13 1
StackMap locals:
StackMap stack:
55: iload 13
iload 12
if_icmplt 43
end local 13 56: aload 0
aload 6
aload 0
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: aload 0
aload 7
aload 0
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: return
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 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 start local 1 0: aload 1
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.bitcodeID:I
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalLength:I
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.initializeSymbolTable:(II)V
1: aload 1
aload 0
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: return
end local 1 end local 0 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 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.loaderTraceStream:()Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
ifnull 2
1: aload 1
ldc "symbol initializers"
aload 0
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: StackMap locals:
StackMap stack:
aload 0
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
start local 2 3: aload 0
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
start local 3 4: aload 0
aload 1
aload 2
aload 3
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: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFunctions:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)V
6: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocRoSection:Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
ifnull 8
7: aload 1
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.bitcodeID:I
aload 2
aload 0
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: StackMap locals: com.oracle.truffle.llvm.runtime.pointer.LLVMPointer com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocRwSection:Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
ifnull 10
9: aload 1
aload 3
aload 0
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: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: goto 20
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
iload 4
aaload
astore 5
start local 5 3: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.fileScope:Lcom/oracle/truffle/llvm/runtime/LLVMScope;
aload 5
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
start local 6 4: aload 6
ifnonnull 7
5: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
6: new java.lang.IllegalStateException
dup
ldc "Global variable %s not found"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
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: StackMap locals: com.oracle.truffle.llvm.runtime.LLVMSymbol com.oracle.truffle.llvm.runtime.global.LLVMGlobal
StackMap stack:
aload 1
aload 5
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.checkSymbol:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;)Z
ifne 19
8: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
iload 4
iaload
iconst_m1
if_icmpne 11
9: 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
start local 7 10: goto 15
end local 7 11: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalIsReadOnly:[Z
iload 4
baload
ifeq 12
aload 2
goto 13
StackMap locals:
StackMap stack:
12: aload 3
StackMap locals:
StackMap stack: com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
13: astore 8
start local 8 14: aload 8
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globalOffsets:[I
iload 4
iaload
i2l
invokeinterface com.oracle.truffle.llvm.runtime.pointer.LLVMPointer.increment:(J)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
astore 7
end local 8 start local 7 15: StackMap locals: com.oracle.truffle.llvm.runtime.pointer.LLVMPointer
StackMap stack:
aload 1
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
iload 4
aaload
aload 7
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.initializeSymbol:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
16: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 8
start local 8 17: aload 8
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: aload 1
aload 8
aload 7
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.registerSymbolReverseMap:(Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
end local 8 end local 7 end local 6 end local 5 19: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.globals:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
arraylength
if_icmplt 2
end local 4 21: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 0: iconst_0
istore 2
start local 2 1: goto 9
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
iload 2
aaload
astore 3
start local 3 3: aload 3
aload 1
invokevirtual com.oracle.truffle.llvm.initialization.InitializeSymbolsNode$AllocSymbolNode.allocate:(Lcom/oracle/truffle/llvm/runtime/LLVMContext;)Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
astore 4
start local 4 4: aload 1
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.functions:[Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;
iload 2
aaload
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.initializeSymbol:(Lcom/oracle/truffle/llvm/runtime/LLVMSymbol;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
5: new java.util.ArrayList
dup
iconst_1
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 6: aload 5
aload 3
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: aload 1
aload 5
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.registerSymbolReverseMap:(Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;)V
end local 5 end local 4 end local 3 8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.allocFuncs:[Lcom/oracle/truffle/llvm/initialization/InitializeSymbolsNode$AllocSymbolNode;
arraylength
if_icmplt 2
end local 2 10: return
end local 1 end local 0 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 0: aload 0
ifnull 2
1: aload 0
invokeinterface com.oracle.truffle.llvm.runtime.memory.LLVMAllocateNode.executeWithTarget:()Lcom/oracle/truffle/llvm/runtime/pointer/LLVMPointer;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 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 start local 1 0: getstatic com.oracle.truffle.llvm.initialization.InitializeSymbolsNode.$assertionsDisabled:Z
ifne 1
iload 1
ifge 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
iload 1
istore 2
start local 2 2: goto 6
3: StackMap locals: int
StackMap stack:
bipush 8
iload 2
invokestatic java.lang.Integer.highestOneBit:(I)I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 4: aload 0
iload 3
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: iload 2
iload 3
isub
istore 2
end local 3 6: StackMap locals:
StackMap stack:
iload 2
ifgt 3
7: return
end local 2 end local 1 end local 0 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 0: aload 0
instanceof com.oracle.truffle.llvm.runtime.types.PointerType
ireturn
end local 0 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 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable.getAlign:()I
ifle 1
iconst_1
aload 1
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
aload 0
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 end local 1 end local 0 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