public class com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl implements com.oracle.truffle.llvm.runtime.LLVMFunctionCode$LazyToTruffleConverter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl
super_class: java.lang.Object
{
private static final java.lang.String LOOP_SUCCESSOR_FRAME_ID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "<loop successor>"
private final com.oracle.truffle.llvm.parser.LLVMParserRuntime runtime;
descriptor: Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition method;
descriptor: Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.source.Source source;
descriptor: Lcom/oracle/truffle/api/source/Source;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.parser.model.functions.LazyFunctionParser parser;
descriptor: Lcom/oracle/truffle/llvm/parser/model/functions/LazyFunctionParser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.parser.metadata.debuginfo.DebugInfoFunctionProcessor diProcessor;
descriptor: Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/DebugInfoFunctionProcessor;
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.api.RootCallTarget resolved;
descriptor: Lcom/oracle/truffle/api/RootCallTarget;
flags: (0x0002) ACC_PRIVATE
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/parser/LazyToTruffleConverterImpl;
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.parser.LazyToTruffleConverterImpl.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.llvm.parser.LLVMParserRuntime, com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition, com.oracle.truffle.api.source.Source, com.oracle.truffle.llvm.parser.model.functions.LazyFunctionParser, com.oracle.truffle.llvm.parser.metadata.debuginfo.DebugInfoFunctionProcessor, com.oracle.truffle.llvm.runtime.datalayout.DataLayout);
descriptor: (Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/llvm/parser/model/functions/LazyFunctionParser;Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/DebugInfoFunctionProcessor;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)V
flags: (0x0000)
Code:
stack=2, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.runtime:Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
2: aload 0
aload 2
putfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
3: aload 0
aload 3
putfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.source:Lcom/oracle/truffle/api/source/Source;
4: aload 0
aload 4
putfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.parser:Lcom/oracle/truffle/llvm/parser/model/functions/LazyFunctionParser;
5: aload 0
aload 5
putfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.diProcessor:Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/DebugInfoFunctionProcessor;
6: aload 0
aconst_null
putfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.resolved:Lcom/oracle/truffle/api/RootCallTarget;
7: aload 0
aload 6
putfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
8: return
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 9 0 this Lcom/oracle/truffle/llvm/parser/LazyToTruffleConverterImpl;
0 9 1 runtime Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
0 9 2 method Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
0 9 3 source Lcom/oracle/truffle/api/source/Source;
0 9 4 parser Lcom/oracle/truffle/llvm/parser/model/functions/LazyFunctionParser;
0 9 5 diProcessor Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/DebugInfoFunctionProcessor;
0 9 6 dataLayout Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
MethodParameters:
Name Flags
runtime
method
source
parser
diProcessor
dataLayout
public com.oracle.truffle.api.RootCallTarget convert();
descriptor: ()Lcom/oracle/truffle/api/RootCallTarget;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.resolved:Lcom/oracle/truffle/api/RootCallTarget;
ifnonnull 4
3: aload 0
aload 0
invokevirtual com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.generateCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
putfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.resolved:Lcom/oracle/truffle/api/RootCallTarget;
4: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.resolved:Lcom/oracle/truffle/api/RootCallTarget;
aload 1
monitorexit
5: areturn
6: StackMap locals:
StackMap stack: java.lang.Throwable
aload 1
monitorexit
7: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/llvm/parser/LazyToTruffleConverterImpl;
Exception table:
from to target type
2 5 6 any
6 7 6 any
private com.oracle.truffle.api.RootCallTarget generateCallTarget();
descriptor: ()Lcom/oracle/truffle/api/RootCallTarget;
flags: (0x0002) ACC_PRIVATE
Code:
stack=13, locals=23, args_size=1
start local 0 0: invokestatic com.oracle.truffle.llvm.runtime.LLVMLanguage.getContext:()Lcom/oracle/truffle/llvm/runtime/LLVMContext;
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.runtime:Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserRuntime.getNodeFactory:()Lcom/oracle/truffle/llvm/runtime/NodeFactory;
astore 2
start local 2 2: aload 1
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
astore 3
start local 3 3: aload 3
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.PRINT_AST:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifne 15
6: aload 4
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 6
start local 6 7: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 14
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.NodeFactory org.graalvm.options.OptionValues java.lang.String int java.lang.String[] top int int java.lang.String[]
StackMap stack:
8: aload 10
iload 8
aaload
astore 7
start local 7 9: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getName:()Ljava/lang/String;
aload 7
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 13
10: iconst_1
istore 5
11: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "\n========== "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: goto 15
end local 7 13: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
14: iload 8
iload 9
if_icmplt 8
end local 6 15: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.NodeFactory org.graalvm.options.OptionValues java.lang.String int
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.parser:Lcom/oracle/truffle/llvm/parser/model/functions/LazyFunctionParser;
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.diProcessor:Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/DebugInfoFunctionProcessor;
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.source:Lcom/oracle/truffle/api/source/Source;
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.runtime:Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
invokestatic com.oracle.truffle.llvm.runtime.LLVMLanguage.getContext:()Lcom/oracle/truffle/llvm/runtime/LLVMContext;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.LazyFunctionParser.parse:(Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/DebugInfoFunctionProcessor;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;Lcom/oracle/truffle/llvm/runtime/LLVMContext;)V
16: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokestatic com.oracle.truffle.llvm.parser.LLVMPhiManager.getPhis:(Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;)Ljava/util/Map;
astore 6
start local 6 17: aload 6
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokestatic com.oracle.truffle.llvm.runtime.LLVMLanguage.getContext:()Lcom/oracle/truffle/llvm/runtime/LLVMContext;
invokevirtual com.oracle.truffle.llvm.runtime.LLVMContext.lifetimeAnalysisStream:()Lcom/oracle/truffle/llvm/runtime/options/TargetStream;
invokestatic com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis.computeLiveness:(Ljava/util/Map;Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;Ljava/io/PrintStream;)Lcom/oracle/truffle/llvm/parser/LLVMLivenessAnalysis$LLVMLivenessAnalysisResult;
astore 7
start local 7 18: new com.oracle.truffle.api.frame.FrameDescriptor
dup
invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
astore 8
start local 8 19: new com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion
dup
invokespecial com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion.<init>:()V
astore 9
start local 9 20: aload 9
aload 8
invokestatic com.oracle.truffle.llvm.runtime.GetStackSpaceFactory.createGetUniqueStackSpaceFactory:(Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;
astore 10
start local 10 21: new com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver
dup
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.runtime:Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
aload 8
aload 10
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
aload 3
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.LL_DEBUG:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
invokespecial com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.<init>:(Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;Z)V
astore 11
start local 11 22: aload 8
ldc "<function exception value>"
aconst_null
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Object:Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/frame/FrameSlotKind;)Lcom/oracle/truffle/api/frame/FrameSlot;
pop
23: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getParameters:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 26
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.NodeFactory org.graalvm.options.OptionValues java.lang.String int java.util.Map com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion com.oracle.truffle.llvm.runtime.GetStackSpaceFactory com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver top java.util.Iterator
StackMap stack:
24: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.functions.FunctionParameter
astore 12
start local 12 25: aload 11
aload 8
aload 12
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.findOrAddFrameSlot:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;)Lcom/oracle/truffle/api/frame/FrameSlot;
pop
end local 12 26: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
27: aload 0
invokevirtual com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.getDebugValues:()Ljava/util/HashSet;
astore 12
start local 12 28: iconst_1
istore 13
start local 13 29: new com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation
dup
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getBlocks:()Ljava/util/List;
invokeinterface java.util.List.size:()I
invokespecial com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.<init>:(I)V
astore 14
start local 14 30: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getBlocks:()Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode
astore 15
start local 15 31: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getBlocks:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 54
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.NodeFactory org.graalvm.options.OptionValues java.lang.String int java.util.Map com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion com.oracle.truffle.llvm.runtime.GetStackSpaceFactory com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver java.util.HashSet int com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] top java.util.Iterator
StackMap stack:
32: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock
astore 16
start local 16 33: aload 6
aload 16
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 18
start local 18 34: aload 7
invokevirtual com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult.getNullableWithinBlock:()[Ljava/util/ArrayList;
aload 16
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
aaload
astore 19
start local 19 35: new com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor
dup
aload 8
aload 9
aload 18
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 11
aload 1
36: aload 19
aload 12
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
aload 2
37: invokespecial com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.<init>:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;Ljava/util/List;ILcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;Lcom/oracle/truffle/llvm/runtime/LLVMContext;Ljava/util/ArrayList;Ljava/util/HashSet;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
astore 20
start local 20 38: iload 13
ifeq 45
39: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getSourceFunction:()Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceFunction;
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceFunction.getVariables:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 22
goto 43
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.NodeFactory org.graalvm.options.OptionValues java.lang.String int java.util.Map com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion com.oracle.truffle.llvm.runtime.GetStackSpaceFactory com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver java.util.HashSet int com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock java.util.Iterator java.util.List java.util.ArrayList com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor top java.util.Iterator
StackMap stack:
40: aload 22
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable
astore 21
start local 21 41: aload 21
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.hasFragments:()Z
ifeq 43
42: aload 20
aload 21
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.initializeAggregateLocalVariable:(Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;)V
end local 21 43: StackMap locals:
StackMap stack:
aload 22
invokeinterface java.util.Iterator.hasNext:()Z
ifne 40
44: iconst_0
istore 13
45: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.NodeFactory org.graalvm.options.OptionValues java.lang.String int java.util.Map com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion com.oracle.truffle.llvm.runtime.GetStackSpaceFactory com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver java.util.HashSet int com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock java.util.Iterator java.util.List java.util.ArrayList com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor
StackMap stack:
iconst_0
istore 21
start local 21 46: goto 50
47: StackMap locals: int
StackMap stack:
aload 20
iload 21
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setInstructionIndex:(I)V
48: aload 16
iload 21
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getInstruction:(I)Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;
aload 20
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction.accept:(Lcom/oracle/truffle/llvm/parser/ValueList$ValueVisitor;)V
49: iinc 21 1
StackMap locals:
StackMap stack:
50: iload 21
aload 16
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getInstructionCount:()I
if_icmplt 47
end local 21 51: aload 20
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.finish:()[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
astore 21
start local 21 52: aload 14
aload 16
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
aload 20
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getDebugInfo:()[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.setBlockDebugInfo:(I[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;)V
53: aload 15
aload 16
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
aload 3
aload 21
aload 20
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getControlFlowNode:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
aload 16
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
aload 16
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getName:()Ljava/lang/String;
invokestatic com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.createBasicBlockNode:(Lorg/graalvm/options/OptionValues;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;ILjava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
aastore
end local 21 end local 20 end local 19 end local 18 end local 16 54: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.NodeFactory org.graalvm.options.OptionValues java.lang.String int java.util.Map com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion com.oracle.truffle.llvm.runtime.GetStackSpaceFactory com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver java.util.HashSet int com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] top java.util.Iterator
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
55: iconst_0
istore 16
start local 16 56: goto 61
57: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.NodeFactory org.graalvm.options.OptionValues java.lang.String int java.util.Map com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion com.oracle.truffle.llvm.runtime.GetStackSpaceFactory com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver java.util.HashSet int com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] int
StackMap stack:
aload 8
aload 7
invokevirtual com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult.getNullableBeforeBlock:()[Ljava/util/BitSet;
iload 16
aaload
invokestatic com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.getNullableFrameSlots:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/util/BitSet;)[Lcom/oracle/truffle/api/frame/FrameSlot;
astore 17
start local 17 58: aload 8
aload 7
invokevirtual com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult.getNullableAfterBlock:()[Ljava/util/BitSet;
iload 16
aaload
invokestatic com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.getNullableFrameSlots:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/util/BitSet;)[Lcom/oracle/truffle/api/frame/FrameSlot;
astore 18
start local 18 59: aload 15
iload 16
aaload
aload 17
aload 18
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.setNullableFrameSlots:([Lcom/oracle/truffle/api/frame/FrameSlot;[Lcom/oracle/truffle/api/frame/FrameSlot;)V
end local 18 end local 17 60: iinc 16 1
StackMap locals:
StackMap stack:
61: iload 16
aload 15
arraylength
if_icmplt 57
end local 16 62: aload 14
aload 15
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.setBlocks:([Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;)V
63: aconst_null
astore 16
start local 16 64: aload 3
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.ENABLE_OSR:Lorg/graalvm/options/OptionKey;
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 70
65: new com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph
dup
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getBlocks:()Ljava/util/List;
getstatic com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.EMPTY:[Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock[]
invokespecial com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph.<init>:([Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;)V
astore 17
start local 17 66: aload 17
invokevirtual com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph.build:()V
67: aload 17
invokevirtual com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph.isReducible:()Z
ifeq 70
aload 17
invokevirtual com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph.getCFGLoops:()Ljava/util/List;
invokeinterface java.util.List.size:()I
ifle 70
68: aload 8
ldc "<loop successor>"
getstatic com.oracle.truffle.api.frame.FrameSlotKind.Int:Lcom/oracle/truffle/api/frame/FrameSlotKind;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;Lcom/oracle/truffle/api/frame/FrameSlotKind;)Lcom/oracle/truffle/api/frame/FrameSlot;
astore 16
69: aload 0
aload 15
aload 17
aload 8
aload 16
aload 14
aload 3
invokevirtual com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.resolveLoops:([Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;Lcom/oracle/truffle/llvm/parser/util/LLVMControlFlowGraph;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;Lorg/graalvm/options/OptionValues;)V
end local 17 70: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.LLVMContext com.oracle.truffle.llvm.runtime.NodeFactory org.graalvm.options.OptionValues java.lang.String int java.util.Map com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion com.oracle.truffle.llvm.runtime.GetStackSpaceFactory com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver java.util.HashSet int com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] com.oracle.truffle.api.frame.FrameSlot
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getLexicalScope:()Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
astore 17
start local 17 71: aload 0
aload 8
aload 11
invokevirtual com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.copyArgumentsToFrame:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;)Ljava/util/List;
getstatic com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode.NO_STATEMENTS:[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[]
astore 18
start local 18 72: aload 2
aload 8
ldc "<function exception value>"
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 15
aload 9
aload 18
aload 8
aload 16
aload 14
73: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getName:()Ljava/lang/String;
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getSourceName:()Ljava/lang/String;
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getParameters:()Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.source:Lcom/oracle/truffle/api/source/Source;
aload 17
74: invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createFunction:(Lcom/oracle/truffle/api/frame/FrameSlot;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/llvm/runtime/types/symbols/LocalVariableDebugInfo;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;)Lcom/oracle/truffle/api/nodes/RootNode;
astore 19
start local 19 75: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.onAfterParse:()V
76: iload 5
ifeq 79
77: aload 19
invokestatic com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.printCompactTree:(Lcom/oracle/truffle/api/nodes/Node;)V
78: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
79: StackMap locals: com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] com.oracle.truffle.api.nodes.RootNode
StackMap stack:
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 19
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
areturn
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 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 80 0 this Lcom/oracle/truffle/llvm/parser/LazyToTruffleConverterImpl;
1 80 1 context Lcom/oracle/truffle/llvm/runtime/LLVMContext;
2 80 2 nodeFactory Lcom/oracle/truffle/llvm/runtime/NodeFactory;
3 80 3 options Lorg/graalvm/options/OptionValues;
4 80 4 printASTOption Ljava/lang/String;
5 80 5 printAST Z
7 15 6 regexes [Ljava/lang/String;
9 13 7 regex Ljava/lang/String;
17 80 6 phis Ljava/util/Map<Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;>;
18 80 7 liveness Lcom/oracle/truffle/llvm/parser/LLVMLivenessAnalysis$LLVMLivenessAnalysisResult;
19 80 8 frame Lcom/oracle/truffle/api/frame/FrameDescriptor;
20 80 9 uniquesRegion Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;
21 80 10 getStackSpaceFactory Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;
22 80 11 symbols Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
25 26 12 parameter Lcom/oracle/truffle/llvm/parser/model/functions/FunctionParameter;
28 80 12 neededForDebug Ljava/util/HashSet<Ljava/lang/Integer;>;
29 80 13 initDebugValues Z
30 80 14 info Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
31 80 15 blockNodes [Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
33 54 16 block Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
34 54 18 blockPhis Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
35 54 19 blockNullerInfos Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMLivenessAnalysis$NullerInformation;>;
38 54 20 visitor Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
41 43 21 variable Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;
46 51 21 i I
52 54 21 nodes [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
56 62 16 j I
58 60 17 nullableBeforeBlock [Lcom/oracle/truffle/api/frame/FrameSlot;
59 60 18 nullableAfterBlock [Lcom/oracle/truffle/api/frame/FrameSlot;
64 80 16 loopSuccessorSlot Lcom/oracle/truffle/api/frame/FrameSlot;
66 70 17 cfg Lcom/oracle/truffle/llvm/parser/util/LLVMControlFlowGraph;
71 80 17 location Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
72 80 18 copyArgumentsToFrameArray [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
75 80 19 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
private java.util.HashSet<java.lang.Integer> getDebugValues();
descriptor: ()Ljava/util/HashSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=1
start local 0 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 1: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getBlocks:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 13
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl java.util.HashSet top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock
astore 2
start local 2 3: aload 2
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getInstructions:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl java.util.HashSet com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock java.util.Iterator top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction
astore 4
start local 4 5: aload 4
instanceof com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgValueInstruction
ifeq 8
6: aload 4
checkcast com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgValueInstruction
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgValueInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 6
start local 6 7: goto 10
end local 6 StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl java.util.HashSet com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock java.util.Iterator com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction java.util.Iterator
StackMap stack:
8: aload 4
instanceof com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgDeclareInstruction
ifeq 12
9: aload 4
checkcast com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgDeclareInstruction
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgDeclareInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 6
start local 6 10: StackMap locals: com.oracle.truffle.llvm.parser.model.SymbolImpl
StackMap stack:
aload 6
instanceof com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
ifeq 12
11: aload 1
aload 6
checkcast com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
invokeinterface com.oracle.truffle.llvm.runtime.types.symbols.SSAValue.getFrameIdentifier:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 4 12: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl java.util.HashSet com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock java.util.Iterator top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 2 13: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl java.util.HashSet top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
14: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/llvm/parser/LazyToTruffleConverterImpl;
1 15 1 neededForDebug Ljava/util/HashSet<Ljava/lang/Integer;>;
3 13 2 block Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
5 12 4 instruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;
7 8 6 value Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
10 12 6 value Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
Signature: ()Ljava/util/HashSet<Ljava/lang/Integer;>;
private static void printCompactTree(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.io.PrintWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
aconst_null
aload 0
aconst_null
iconst_1
invokestatic com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.printCompactTree:(Ljava/io/PrintWriter;Lcom/oracle/truffle/api/nodes/NodeInterface;Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/lang/String;I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 node Lcom/oracle/truffle/api/nodes/Node;
MethodParameters:
Name Flags
node
private static void printCompactTree(java.io.PrintWriter, com.oracle.truffle.api.nodes.NodeInterface, com.oracle.truffle.api.nodes.NodeInterface, java.lang.String, int);
descriptor: (Ljava/io/PrintWriter;Lcom/oracle/truffle/api/nodes/NodeInterface;Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/lang/String;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
ldc " "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
iload 4
if_icmplt 4
end local 5 7: aload 1
ifnonnull 10
8: aload 0
aload 2
invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
9: goto 13
10: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
11: aload 0
ldc " = "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
12: aload 0
aload 2
invokevirtual java.io.PrintWriter.println:(Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 5
start local 5 14: goto 44
15: StackMap locals: java.lang.Class
StackMap stack:
aload 5
invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
astore 6
start local 6 16: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 42
StackMap locals: java.io.PrintWriter com.oracle.truffle.api.nodes.NodeInterface com.oracle.truffle.api.nodes.NodeInterface java.lang.String int java.lang.Class java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
StackMap stack:
17: aload 10
iload 8
aaload
astore 7
start local 7 18: aload 7
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 20
19: goto 41
20: StackMap locals: java.io.PrintWriter com.oracle.truffle.api.nodes.NodeInterface com.oracle.truffle.api.nodes.NodeInterface java.lang.String int java.lang.Class java.lang.reflect.Field[] java.lang.reflect.Field int int java.lang.reflect.Field[]
StackMap stack:
ldc Lcom/oracle/truffle/api/nodes/NodeInterface;
aload 7
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 29
21: aload 7
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
22: aload 7
aload 2
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.NodeInterface
astore 11
start local 11 23: aload 11
ifnull 41
24: aload 0
aload 2
aload 11
aload 7
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
iload 4
iconst_1
iadd
invokestatic com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.printCompactTree:(Ljava/io/PrintWriter;Lcom/oracle/truffle/api/nodes/NodeInterface;Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/lang/String;I)V
end local 11 25: goto 41
StackMap locals:
StackMap stack: java.lang.Exception
26: astore 11
start local 11 27: aload 11
invokevirtual java.lang.Exception.printStackTrace:()V
end local 11 28: goto 41
StackMap locals:
StackMap stack:
29: ldc [Lcom/oracle/truffle/api/nodes/NodeInterface;
aload 7
invokevirtual java.lang.reflect.Field.getType:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 41
30: aload 7
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
31: aload 7
aload 2
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.nodes.NodeInterface[]
astore 11
start local 11 32: aload 11
ifnull 41
33: iconst_0
istore 12
start local 12 34: goto 37
35: StackMap locals: com.oracle.truffle.api.nodes.NodeInterface[] int
StackMap stack:
aload 0
aload 2
aload 11
iload 12
aaload
new java.lang.StringBuilder
dup
aload 7
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 4
iconst_1
iadd
invokestatic com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.printCompactTree:(Ljava/io/PrintWriter;Lcom/oracle/truffle/api/nodes/NodeInterface;Lcom/oracle/truffle/api/nodes/NodeInterface;Ljava/lang/String;I)V
36: iinc 12 1
StackMap locals:
StackMap stack:
37: iload 12
aload 11
arraylength
if_icmplt 35
end local 12 end local 11 38: goto 41
StackMap locals: java.io.PrintWriter com.oracle.truffle.api.nodes.NodeInterface com.oracle.truffle.api.nodes.NodeInterface java.lang.String int java.lang.Class java.lang.reflect.Field[] java.lang.reflect.Field int int java.lang.reflect.Field[]
StackMap stack: java.lang.Exception
39: astore 11
start local 11 40: aload 11
invokevirtual java.lang.Exception.printStackTrace:()V
end local 11 end local 7 41: StackMap locals: java.io.PrintWriter com.oracle.truffle.api.nodes.NodeInterface com.oracle.truffle.api.nodes.NodeInterface java.lang.String int java.lang.Class java.lang.reflect.Field[] top int int java.lang.reflect.Field[]
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
42: iload 8
iload 9
if_icmplt 17
end local 6 43: aload 5
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 5
StackMap locals: java.io.PrintWriter com.oracle.truffle.api.nodes.NodeInterface com.oracle.truffle.api.nodes.NodeInterface java.lang.String int java.lang.Class
StackMap stack:
44: aload 5
ldc Ljava/lang/Object;
if_acmpne 15
end local 5 45: aload 0
invokevirtual java.io.PrintWriter.flush:()V
46: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 p Ljava/io/PrintWriter;
0 47 1 parent Lcom/oracle/truffle/api/nodes/NodeInterface;
0 47 2 node Lcom/oracle/truffle/api/nodes/NodeInterface;
0 47 3 fieldName Ljava/lang/String;
0 47 4 level I
3 7 5 i I
14 45 5 c Ljava/lang/Class<*>;
16 43 6 fields [Ljava/lang/reflect/Field;
18 41 7 field Ljava/lang/reflect/Field;
23 25 11 value Lcom/oracle/truffle/api/nodes/NodeInterface;
27 28 11 e Ljava/lang/Exception;
32 38 11 value [Lcom/oracle/truffle/api/nodes/NodeInterface;
34 38 12 i I
40 41 11 e Ljava/lang/Exception;
Exception table:
from to target type
21 25 26 Class java.lang.IllegalArgumentException
21 25 26 Class java.lang.IllegalAccessException
30 38 39 Class java.lang.IllegalArgumentException
30 38 39 Class java.lang.IllegalAccessException
MethodParameters:
Name Flags
p
parent
node
fieldName
level
private void resolveLoops(com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[], com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph, com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation, org.graalvm.options.OptionValues);
descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;Lcom/oracle/truffle/llvm/parser/util/LLVMControlFlowGraph;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;Lorg/graalvm/options/OptionValues;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=20, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 1
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[].clone:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[]
astore 7
start local 7 1: aload 5
aload 7
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.setBlocks:([Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;)V
2: aload 2
invokevirtual com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph.getCFGLoops:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 28
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.api.frame.FrameSlot com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation org.graalvm.options.OptionValues com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] top java.util.Iterator
StackMap stack:
3: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop
astore 8
start local 8 4: aload 8
invokevirtual com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop.getHeader:()Lcom/oracle/truffle/llvm/parser/util/LLVMControlFlowGraph$CFGBlock;
getfield com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGBlock.id:I
istore 10
start local 10 5: aload 1
arraylength
newarray 10
astore 11
start local 11 6: aload 11
iconst_m1
invokestatic java.util.Arrays.fill:([II)V
7: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
start local 12 8: aload 1
iload 10
aaload
astore 13
start local 13 9: aload 12
aload 13
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 11
iload 10
iconst_0
iastore
11: iconst_1
istore 14
start local 14 12: aload 8
invokevirtual com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop.getBody:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
goto 16
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.api.frame.FrameSlot com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation org.graalvm.options.OptionValues com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop java.util.Iterator int int[] java.util.List com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode int top java.util.Iterator
StackMap stack:
13: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGBlock
astore 15
start local 15 14: aload 12
aload 1
aload 15
getfield com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGBlock.id:I
aaload
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 11
aload 15
getfield com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGBlock.id:I
iload 14
iinc 14 1
iastore
end local 15 16: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
17: aload 8
invokevirtual com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop.getSuccessorIDs:()[I
astore 15
start local 15 18: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.runtime:Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserRuntime.getNodeFactory:()Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 3
ldc "<function exception value>"
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
aload 12
invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
19: aload 7
iload 10
aload 11
aload 15
aload 4
20: invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createLoopDispatchNode:(Lcom/oracle/truffle/api/frame/FrameSlot;Ljava/util/List;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;I[I[ILcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/nodes/RepeatingNode;
astore 16
start local 16 21: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.runtime:Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserRuntime.getNodeFactory:()Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 16
aload 15
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createLoop:(Lcom/oracle/truffle/api/nodes/RepeatingNode;[I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 17
start local 17 22: aload 1
iload 10
aload 6
iconst_0
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode
aload 17
iload 10
new java.lang.StringBuilder
dup
ldc "loopAt"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.createBasicBlockNode:(Lorg/graalvm/options/OptionValues;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;ILjava/lang/String;)Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
aastore
23: aload 1
iload 10
aaload
aload 13
getfield com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.nullableBefore:[Lcom/oracle/truffle/api/frame/FrameSlot;
aload 13
getfield com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.nullableAfter:[Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.setNullableFrameSlots:([Lcom/oracle/truffle/api/frame/FrameSlot;[Lcom/oracle/truffle/api/frame/FrameSlot;)V
24: aload 8
invokevirtual com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop.getInnerLoops:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 19
goto 27
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.api.frame.FrameSlot com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation org.graalvm.options.OptionValues com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop java.util.Iterator int int[] java.util.List com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode int int[] com.oracle.truffle.api.nodes.RepeatingNode com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode top java.util.Iterator
StackMap stack:
25: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop
astore 18
start local 18 26: aload 1
aload 18
invokevirtual com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop.getHeader:()Lcom/oracle/truffle/llvm/parser/util/LLVMControlFlowGraph$CFGBlock;
getfield com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGBlock.id:I
aconst_null
aastore
end local 18 27: StackMap locals:
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 8 28: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.api.frame.FrameSlot com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation org.graalvm.options.OptionValues com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
29: return
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 30 0 this Lcom/oracle/truffle/llvm/parser/LazyToTruffleConverterImpl;
0 30 1 nodes [Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
0 30 2 cfg Lcom/oracle/truffle/llvm/parser/util/LLVMControlFlowGraph;
0 30 3 frame Lcom/oracle/truffle/api/frame/FrameDescriptor;
0 30 4 loopSuccessorSlot Lcom/oracle/truffle/api/frame/FrameSlot;
0 30 5 info Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
0 30 6 options Lorg/graalvm/options/OptionValues;
1 30 7 originalBodyNodes [Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
4 28 8 loop Lcom/oracle/truffle/llvm/parser/util/LLVMControlFlowGraph$CFGLoop;
5 28 10 headerId I
6 28 11 indexMapping [I
8 28 12 bodyNodes Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;>;
9 28 13 header Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
12 28 14 i I
14 16 15 block Lcom/oracle/truffle/llvm/parser/util/LLVMControlFlowGraph$CFGBlock;
18 28 15 loopSuccessors [I
21 28 16 loopBody Lcom/oracle/truffle/api/nodes/RepeatingNode;
22 28 17 loopNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
26 27 18 innerLoop Lcom/oracle/truffle/llvm/parser/util/LLVMControlFlowGraph$CFGLoop;
MethodParameters:
Name Flags
nodes
cfg
frame
loopSuccessorSlot
info
options
public com.oracle.truffle.llvm.runtime.debug.type.LLVMSourceFunctionType getSourceType();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/debug/type/LLVMSourceFunctionType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.convert:()Lcom/oracle/truffle/api/RootCallTarget;
pop
1: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getSourceFunction:()Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceFunction;
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceFunction.getSourceType:()Lcom/oracle/truffle/llvm/runtime/debug/type/LLVMSourceFunctionType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/LazyToTruffleConverterImpl;
private static com.oracle.truffle.api.frame.FrameSlot[] getNullableFrameSlots(com.oracle.truffle.api.frame.FrameDescriptor, java.util.BitSet);
descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/util/BitSet;)[Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: iconst_m1
istore 2
start local 2 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 2: goto 5
3: StackMap locals: int java.util.ArrayList
StackMap stack:
iload 2
istore 4
start local 4 4: aload 3
aload 0
iload 4
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.findFrameSlot:(Lcom/oracle/truffle/api/frame/FrameDescriptor;I)Lcom/oracle/truffle/api/frame/FrameSlot;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 4 5: StackMap locals:
StackMap stack:
aload 1
iload 2
iconst_1
iadd
invokevirtual java.util.BitSet.nextSetBit:(I)I
dup
istore 2
ifge 3
6: aload 3
invokevirtual java.util.ArrayList.size:()I
ifle 8
7: aload 3
aload 3
invokevirtual java.util.ArrayList.size:()I
anewarray com.oracle.truffle.api.frame.FrameSlot
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.FrameSlot[]
areturn
8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 frame Lcom/oracle/truffle/api/frame/FrameDescriptor;
0 9 1 nullable Ljava/util/BitSet;
1 9 2 bitIndex I
2 9 3 nullableSlots Ljava/util/ArrayList<Lcom/oracle/truffle/api/frame/FrameSlot;>;
4 5 4 frameIdentifier I
MethodParameters:
Name Flags
frame
nullable
private static boolean functionParameterHasByValueAttribute(com.oracle.truffle.llvm.parser.model.functions.FunctionParameter);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/functions/FunctionParameter;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionParameter.getParameterAttribute:()Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
ifnull 6
1: aload 0
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionParameter.getParameterAttribute:()Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
invokevirtual com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup.getAttributes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: com.oracle.truffle.llvm.parser.model.functions.FunctionParameter top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.attributes.Attribute
astore 1
start local 1 3: aload 1
instanceof com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownAttribute
ifeq 5
aload 1
checkcast com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownAttribute
invokevirtual com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownAttribute.getAttr:()Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute$Kind;
getstatic com.oracle.truffle.llvm.parser.model.attributes.Attribute$Kind.BYVAL:Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute$Kind;
if_acmpne 5
4: iconst_1
ireturn
end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: StackMap locals: com.oracle.truffle.llvm.parser.model.functions.FunctionParameter
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 parameter Lcom/oracle/truffle/llvm/parser/model/functions/FunctionParameter;
3 5 1 a Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute;
MethodParameters:
Name Flags
parameter
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode getTargetAddress(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type, java.util.ArrayDeque<java.lang.Long>);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/util/ArrayDeque;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.runtime:Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserRuntime.getNodeFactory:()Lcom/oracle/truffle/llvm/runtime/NodeFactory;
astore 4
start local 4 1: aload 3
invokevirtual java.util.ArrayDeque.size:()I
istore 5
start local 5 2: iload 5
anewarray java.lang.Long
astore 6
start local 6 3: iload 5
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 7
start local 7 4: iload 5
iconst_1
isub
istore 8
start local 8 5: aload 3
invokevirtual java.util.ArrayDeque.iterator:()Ljava/util/Iterator;
astore 10
goto 10
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.types.Type java.util.ArrayDeque com.oracle.truffle.llvm.runtime.NodeFactory int java.lang.Long[] com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] int top java.util.Iterator
StackMap stack:
6: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Long
astore 9
start local 9 7: aload 6
iload 8
aload 9
aastore
8: aload 7
iload 8
aload 9
invokevirtual java.lang.Long.longValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createLiteral:(Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
9: iinc 8 -1
end local 9 10: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
11: getstatic com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.$assertionsDisabled:Z
ifne 12
iload 8
iconst_m1
if_icmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.types.Type java.util.ArrayDeque com.oracle.truffle.llvm.runtime.NodeFactory int java.lang.Long[] com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] int
StackMap stack:
iload 5
anewarray com.oracle.truffle.llvm.runtime.types.PrimitiveType
astore 9
start local 9 13: aload 9
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
14: aload 4
15: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
16: aload 7
17: aload 6
18: aload 9
19: aload 1
20: aload 2
21: invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createNestedElementPointerNode:(Lcom/oracle/truffle/llvm/runtime/NodeFactory;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Ljava/lang/Long;[Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 10
start local 10 22: aload 10
areturn
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 23 0 this Lcom/oracle/truffle/llvm/parser/LazyToTruffleConverterImpl;
0 23 1 baseAddress Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
0 23 2 sourceType Lcom/oracle/truffle/llvm/runtime/types/Type;
0 23 3 indices Ljava/util/ArrayDeque<Ljava/lang/Long;>;
1 23 4 nf Lcom/oracle/truffle/llvm/runtime/NodeFactory;
2 23 5 indicesSize I
3 23 6 indicesArr [Ljava/lang/Long;
4 23 7 indexNodes [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
5 23 8 i I
7 10 9 idx Ljava/lang/Long;
13 23 9 indexTypes [Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
22 23 10 nestedGEPs Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
Signature: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/util/ArrayDeque<Ljava/lang/Long;>;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
baseAddress
sourceType
indices
private void copyStructArgumentsToFrame(java.util.List<com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode>, com.oracle.truffle.llvm.runtime.NodeFactory, com.oracle.truffle.api.frame.FrameSlot, int, com.oracle.truffle.llvm.runtime.types.PointerType, com.oracle.truffle.llvm.runtime.types.Type, java.util.ArrayDeque<java.lang.Long>);
descriptor: (Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/NodeFactory;Lcom/oracle/truffle/api/frame/FrameSlot;ILcom/oracle/truffle/llvm/runtime/types/PointerType;Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/util/ArrayDeque;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=8
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tLLVMUnpackVarargsNodeGen cannot be resolved\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/LazyToTruffleConverterImpl;
Signature: (Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;>;Lcom/oracle/truffle/llvm/runtime/NodeFactory;Lcom/oracle/truffle/api/frame/FrameSlot;ILcom/oracle/truffle/llvm/runtime/types/PointerType;Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/util/ArrayDeque<Ljava/lang/Long;>;)V
MethodParameters:
Name Flags
initializers
nodeFactory
slot
argIndex
topLevelPointerType
currentType
indices
private java.util.List<com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode> copyArgumentsToFrame(com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver);
descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;)Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.runtime:Lcom/oracle/truffle/llvm/parser/LLVMParserRuntime;
invokevirtual com.oracle.truffle.llvm.parser.LLVMParserRuntime.getNodeFactory:()Lcom/oracle/truffle/llvm/runtime/NodeFactory;
astore 3
start local 3 1: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getParameters:()Ljava/util/List;
astore 4
start local 4 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 3: iconst_1
istore 6
start local 6 4: aload 0
getfield com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.method:Lcom/oracle/truffle/llvm/parser/model/functions/FunctionDefinition;
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionDefinition.getType:()Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
invokevirtual com.oracle.truffle.llvm.runtime.types.FunctionType.getReturnType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
instanceof com.oracle.truffle.llvm.runtime.types.StructureType
ifeq 6
5: iinc 6 1
6: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver com.oracle.truffle.llvm.runtime.NodeFactory java.util.List java.util.List int
StackMap stack:
aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 20
StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver com.oracle.truffle.llvm.runtime.NodeFactory java.util.List java.util.List int top java.util.Iterator
StackMap stack:
7: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.functions.FunctionParameter
astore 7
start local 7 8: aload 2
aload 1
aload 7
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.findOrAddFrameSlot:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;)Lcom/oracle/truffle/api/frame/FrameSlot;
astore 9
start local 9 9: aload 7
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionParameter.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
instanceof com.oracle.truffle.llvm.runtime.types.PointerType
ifeq 18
aload 7
invokestatic com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.functionParameterHasByValueAttribute:(Lcom/oracle/truffle/llvm/parser/model/functions/FunctionParameter;)Z
ifeq 18
10: aload 7
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionParameter.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
checkcast com.oracle.truffle.llvm.runtime.types.PointerType
astore 10
start local 10 11: aload 10
invokevirtual com.oracle.truffle.llvm.runtime.types.PointerType.getPointeeType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 11
start local 11 12: invokestatic com.oracle.truffle.llvm.runtime.GetStackSpaceFactory.createAllocaFactory:()Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;
astore 12
start local 12 13: aload 12
aload 3
aload 11
invokeinterface com.oracle.truffle.llvm.runtime.GetStackSpaceFactory.createGetStackSpace:(Lcom/oracle/truffle/llvm/runtime/NodeFactory;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 13
start local 13 14: aload 5
aload 3
aload 10
aload 13
aload 9
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
astore 14
start local 14 16: aload 0
aload 5
aload 3
aload 9
iload 6
iinc 6 1
aload 10
aload 11
aload 14
invokevirtual com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl.copyStructArgumentsToFrame:(Ljava/util/List;Lcom/oracle/truffle/llvm/runtime/NodeFactory;Lcom/oracle/truffle/api/frame/FrameSlot;ILcom/oracle/truffle/llvm/runtime/types/PointerType;Lcom/oracle/truffle/llvm/runtime/types/Type;Ljava/util/ArrayDeque;)V
end local 14 end local 13 end local 12 end local 11 end local 10 17: goto 20
18: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver com.oracle.truffle.llvm.runtime.NodeFactory java.util.List java.util.List int com.oracle.truffle.llvm.parser.model.functions.FunctionParameter java.util.Iterator com.oracle.truffle.api.frame.FrameSlot
StackMap stack:
aload 3
iload 6
iinc 6 1
aload 7
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionParameter.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createFunctionArgNode:(ILcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 10
start local 10 19: aload 5
aload 3
aload 7
invokevirtual com.oracle.truffle.llvm.parser.model.functions.FunctionParameter.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 10
aload 9
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 7 20: StackMap locals: com.oracle.truffle.llvm.parser.LazyToTruffleConverterImpl com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver com.oracle.truffle.llvm.runtime.NodeFactory java.util.List java.util.List int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
21: aload 5
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/oracle/truffle/llvm/parser/LazyToTruffleConverterImpl;
0 22 1 frame Lcom/oracle/truffle/api/frame/FrameDescriptor;
0 22 2 symbols Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
1 22 3 nodeFactory Lcom/oracle/truffle/llvm/runtime/NodeFactory;
2 22 4 parameters Ljava/util/List<Lcom/oracle/truffle/llvm/parser/model/functions/FunctionParameter;>;
3 22 5 formalParamInits Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;>;
4 22 6 argIndex I
8 20 7 parameter Lcom/oracle/truffle/llvm/parser/model/functions/FunctionParameter;
9 20 9 slot Lcom/oracle/truffle/api/frame/FrameSlot;
11 17 10 pointerType Lcom/oracle/truffle/llvm/runtime/types/PointerType;
12 17 11 pointeeType Lcom/oracle/truffle/llvm/runtime/types/Type;
13 17 12 allocaFactory Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;
14 17 13 allocation Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
16 17 14 indices Ljava/util/ArrayDeque<Ljava/lang/Long;>;
19 20 10 parameterNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
Signature: (Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;)Ljava/util/List<Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;>;
MethodParameters:
Name Flags
frame
symbols
}
SourceFile: "LazyToTruffleConverterImpl.java"
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public LLVMLivenessAnalysisResult = com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$LLVMLivenessAnalysisResult of com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis
public final NullerInformation = com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$NullerInformation of com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis
public final Phi = com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi of com.oracle.truffle.llvm.parser.LLVMPhiManager
public abstract ValueVisitor = com.oracle.truffle.llvm.parser.ValueList$ValueVisitor of com.oracle.truffle.llvm.parser.ValueList
public final Kind = com.oracle.truffle.llvm.parser.model.attributes.Attribute$Kind of com.oracle.truffle.llvm.parser.model.attributes.Attribute
public KnownAttribute = com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownAttribute of com.oracle.truffle.llvm.parser.model.attributes.Attribute
public final CFGBlock = com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGBlock of com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph
public final CFGLoop = com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph$CFGLoop of com.oracle.truffle.llvm.parser.util.LLVMControlFlowGraph
public abstract LazyToTruffleConverter = com.oracle.truffle.llvm.runtime.LLVMFunctionCode$LazyToTruffleConverter of com.oracle.truffle.llvm.runtime.LLVMFunctionCode
public final UniquesRegion = com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion of com.oracle.truffle.llvm.runtime.memory.LLVMStack
abstract LocalVarDebugInfo = com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo of com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation