public final class com.oracle.truffle.llvm.initialization.InitializeModuleNode extends com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode implements com.oracle.truffle.llvm.runtime.nodes.api.LLVMHasDatalayoutNode
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.initialization.InitializeModuleNode
super_class: com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
{
private static final int LEAST_CONSTRUCTOR_PRIORITY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 65535
private static final java.util.Comparator<com.oracle.truffle.llvm.parser.util.Pair<java.lang.Integer, ?>> ASCENDING_PRIORITY;
descriptor: Ljava/util/Comparator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Lcom/oracle/truffle/llvm/parser/util/Pair<Ljava/lang/Integer;*>;>;
private static final java.util.Comparator<com.oracle.truffle.llvm.parser.util.Pair<java.lang.Integer, ?>> DESCENDING_PRIORITY;
descriptor: Ljava/util/Comparator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Lcom/oracle/truffle/llvm/parser/util/Pair<Ljava/lang/Integer;*>;>;
private final com.oracle.truffle.api.RootCallTarget destructor;
descriptor: Lcom/oracle/truffle/api/RootCallTarget;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.datalayout.DataLayout dataLayout;
descriptor: Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.llvm.initialization.StaticInitsNode constructor;
descriptor: Lcom/oracle/truffle/llvm/initialization/StaticInitsNode;
flags: (0x0002) ACC_PRIVATE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
com/oracle/truffle/llvm/initialization/InitializeModuleNode.lambda$0(Lcom/oracle/truffle/llvm/parser/util/Pair;Lcom/oracle/truffle/llvm/parser/util/Pair;)I (6)
(Lcom/oracle/truffle/llvm/parser/util/Pair;Lcom/oracle/truffle/llvm/parser/util/Pair;)I
putstatic com.oracle.truffle.llvm.initialization.InitializeModuleNode.ASCENDING_PRIORITY:Ljava/util/Comparator;
1: invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
com/oracle/truffle/llvm/initialization/InitializeModuleNode.lambda$1(Lcom/oracle/truffle/llvm/parser/util/Pair;Lcom/oracle/truffle/llvm/parser/util/Pair;)I (6)
(Lcom/oracle/truffle/llvm/parser/util/Pair;Lcom/oracle/truffle/llvm/parser/util/Pair;)I
putstatic com.oracle.truffle.llvm.initialization.InitializeModuleNode.DESCENDING_PRIORITY:Ljava/util/Comparator;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.llvm.runtime.LLVMLanguage, com.oracle.truffle.llvm.parser.LLVMParserResult, java.lang.String);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;Lcom/oracle/truffle/llvm/parser/LLVMParserResult;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode.<init>:()V
1: aload 0
aload 2
aload 3
aload 1
invokestatic com.oracle.truffle.llvm.initialization.InitializeModuleNode.createDestructor:(Lcom/oracle/truffle/llvm/parser/LLVMParserResult;Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;)Lcom/oracle/truffle/api/RootCallTarget;
putfield com.oracle.truffle.llvm.initialization.InitializeModuleNode.destructor:Lcom/oracle/truffle/api/RootCallTarget;
2: aload 0
aload 2
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getDataLayout:()Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
putfield com.oracle.truffle.llvm.initialization.InitializeModuleNode.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
3: aload 0
aload 2
aload 3
invokestatic com.oracle.truffle.llvm.initialization.InitializeModuleNode.createConstructor:(Lcom/oracle/truffle/llvm/parser/LLVMParserResult;Ljava/lang/String;)Lcom/oracle/truffle/llvm/initialization/StaticInitsNode;
putfield com.oracle.truffle.llvm.initialization.InitializeModuleNode.constructor:Lcom/oracle/truffle/llvm/initialization/StaticInitsNode;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/initialization/InitializeModuleNode;
0 5 1 language Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;
0 5 2 parserResult Lcom/oracle/truffle/llvm/parser/LLVMParserResult;
0 5 3 moduleName Ljava/lang/String;
MethodParameters:
Name Flags
language
parserResult
moduleName
public void execute(com.oracle.truffle.api.frame.VirtualFrame, com.oracle.truffle.llvm.runtime.LLVMContext);
descriptor: (Lcom/oracle/truffle/api/frame/VirtualFrame;Lcom/oracle/truffle/llvm/runtime/LLVMContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeModuleNode.destructor:Lcom/oracle/truffle/api/RootCallTarget;
ifnull 2
1: aload 2
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeModuleNode.destructor:Lcom/oracle/truffle/api/RootCallTarget;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.registerDestructorFunctions:(Lcom/oracle/truffle/api/RootCallTarget;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeModuleNode.constructor:Lcom/oracle/truffle/llvm/initialization/StaticInitsNode;
aload 1
invokevirtual com.oracle.truffle.llvm.initialization.StaticInitsNode.execute:(Lcom/oracle/truffle/api/frame/VirtualFrame;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/initialization/InitializeModuleNode;
0 4 1 frame Lcom/oracle/truffle/api/frame/VirtualFrame;
0 4 2 ctx Lcom/oracle/truffle/llvm/runtime/LLVMContext;
MethodParameters:
Name Flags
frame
ctx
public com.oracle.truffle.llvm.runtime.datalayout.DataLayout getDatalayout();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.initialization.InitializeModuleNode.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/initialization/InitializeModuleNode;
public static com.oracle.truffle.api.RootCallTarget createDestructor(com.oracle.truffle.llvm.parser.LLVMParserResult, java.lang.String, com.oracle.truffle.llvm.runtime.LLVMLanguage);
descriptor: (Lcom/oracle/truffle/llvm/parser/LLVMParserResult;Ljava/lang/String;Lcom/oracle/truffle/llvm/runtime/LLVMLanguage;)Lcom/oracle/truffle/api/RootCallTarget;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tStaticInitsNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
parserResult
moduleName
language
private static com.oracle.truffle.llvm.initialization.StaticInitsNode createConstructor(com.oracle.truffle.llvm.parser.LLVMParserResult, java.lang.String);
descriptor: (Lcom/oracle/truffle/llvm/parser/LLVMParserResult;Ljava/lang/String;)Lcom/oracle/truffle/llvm/initialization/StaticInitsNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tStaticInitsNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
parserResult
moduleName
private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] createStructor(java.lang.String, com.oracle.truffle.llvm.parser.LLVMParserResult, java.util.Comparator<com.oracle.truffle.llvm.parser.util.Pair<java.lang.Integer, ?>>);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/llvm/parser/LLVMParserResult;Ljava/util/Comparator;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getDefinedGlobals:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: java.lang.String com.oracle.truffle.llvm.parser.LLVMParserResult java.util.Comparator top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable.getName:()Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
3: 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;
aload 3
aload 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserResult.getDataLayout:()Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
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;
invokestatic com.oracle.truffle.llvm.initialization.InitializeModuleNode.resolveStructor:(Lcom/oracle/truffle/llvm/runtime/LLVMScope;Lcom/oracle/truffle/llvm/parser/model/symbols/globals/GlobalVariable;Ljava/util/Comparator;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
areturn
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: getstatic com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode.NO_STATEMENTS:[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/String;
0 6 1 parserResult Lcom/oracle/truffle/llvm/parser/LLVMParserResult;
0 6 2 priorityComparator Ljava/util/Comparator<Lcom/oracle/truffle/llvm/parser/util/Pair<Ljava/lang/Integer;*>;>;
2 4 3 globalVariable Lcom/oracle/truffle/llvm/parser/model/symbols/globals/GlobalVariable;
Signature: (Ljava/lang/String;Lcom/oracle/truffle/llvm/parser/LLVMParserResult;Ljava/util/Comparator<Lcom/oracle/truffle/llvm/parser/util/Pair<Ljava/lang/Integer;*>;>;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
MethodParameters:
Name Flags
name
parserResult
priorityComparator
private static com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] resolveStructor(com.oracle.truffle.llvm.runtime.LLVMScope, com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalVariable, java.util.Comparator<com.oracle.truffle.llvm.parser.util.Pair<java.lang.Integer, ?>>, com.oracle.truffle.llvm.runtime.datalayout.DataLayout, com.oracle.truffle.llvm.runtime.NodeFactory);
descriptor: (Lcom/oracle/truffle/llvm/runtime/LLVMScope;Lcom/oracle/truffle/llvm/parser/model/symbols/globals/GlobalVariable;Ljava/util/Comparator;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=5
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tLLVMVoidStatementNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
Signature: (Lcom/oracle/truffle/llvm/runtime/LLVMScope;Lcom/oracle/truffle/llvm/parser/model/symbols/globals/GlobalVariable;Ljava/util/Comparator<Lcom/oracle/truffle/llvm/parser/util/Pair<Ljava/lang/Integer;*>;>;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
MethodParameters:
Name Flags
fileScope
globalSymbol
priorityComparator
dataLayout
nodeFactory
private static int lambda$0(com.oracle.truffle.llvm.parser.util.Pair, com.oracle.truffle.llvm.parser.util.Pair);
descriptor: (Lcom/oracle/truffle/llvm/parser/util/Pair;Lcom/oracle/truffle/llvm/parser/util/Pair;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.llvm.parser.util.Pair.getFirst:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 1
invokevirtual com.oracle.truffle.llvm.parser.util.Pair.getFirst:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 p1 Lcom/oracle/truffle/llvm/parser/util/Pair<Ljava/lang/Integer;*>;
0 1 1 p2 Lcom/oracle/truffle/llvm/parser/util/Pair<Ljava/lang/Integer;*>;
private static int lambda$1(com.oracle.truffle.llvm.parser.util.Pair, com.oracle.truffle.llvm.parser.util.Pair);
descriptor: (Lcom/oracle/truffle/llvm/parser/util/Pair;Lcom/oracle/truffle/llvm/parser/util/Pair;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.util.Pair.getFirst:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
invokevirtual com.oracle.truffle.llvm.parser.util.Pair.getFirst:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
isub
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 p1 Lcom/oracle/truffle/llvm/parser/util/Pair<Ljava/lang/Integer;*>;
0 1 1 p2 Lcom/oracle/truffle/llvm/parser/util/Pair<Ljava/lang/Integer;*>;
}
SourceFile: "InitializeModuleNode.java"
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles