public final class com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor implements com.oracle.truffle.llvm.parser.model.visitors.SymbolVisitor
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor
super_class: java.lang.Object
{
private final com.oracle.truffle.llvm.runtime.LLVMContext context;
descriptor: Lcom/oracle/truffle/llvm/runtime/LLVMContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.runtime.NodeFactory nodeFactory;
descriptor: Lcom/oracle/truffle/llvm/runtime/NodeFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.frame.FrameDescriptor frame;
descriptor: Lcom/oracle/truffle/api/frame/FrameDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi> blockPhis;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
private final int argCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver symbols;
descriptor: Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.ArrayList<com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$NullerInformation> nullerInfos;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMLivenessAnalysis$NullerInformation;>;
private final com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion uniquesRegion;
descriptor: Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;
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 final java.util.HashSet<java.lang.Integer> neededForDebug;
descriptor: Ljava/util/HashSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/HashSet<Ljava/lang/Integer;>;
private final java.util.ArrayList<com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode> instructionNodes;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMNode;>;
private final java.util.ArrayList<com.oracle.truffle.llvm.runtime.types.symbols.SSAValue> instructionTargets;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;>;
private final java.util.ArrayList<com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo> debugInfo;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;
private com.oracle.truffle.llvm.runtime.types.symbols.SSAValue[] nullerInfo;
descriptor: [Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode controlFlowNode;
descriptor: Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation lastLocation;
descriptor: Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
flags: (0x0002) ACC_PRIVATE
private boolean optimizeFrameSlots;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$llvm$parser$model$enums$ReadModifyWriteOperator;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$llvm$parser$nodes$LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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/nodes/LLVMBitcodeInstructionVisitor;
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.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion, java.util.List<com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi>, int, com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver, com.oracle.truffle.llvm.runtime.LLVMContext, java.util.ArrayList<com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$NullerInformation>, java.util.HashSet<java.lang.Integer>, com.oracle.truffle.llvm.runtime.datalayout.DataLayout, com.oracle.truffle.llvm.runtime.NodeFactory);
descriptor: (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
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=11, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 6
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.context:Lcom/oracle/truffle/llvm/runtime/LLVMContext;
2: aload 0
aload 8
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.neededForDebug:Ljava/util/HashSet;
3: aload 0
aload 10
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
4: aload 0
aload 1
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
5: aload 0
aload 3
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.blockPhis:Ljava/util/List;
6: aload 0
iload 4
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.argCount:I
7: aload 0
aload 5
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
8: aload 0
aload 7
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
9: aload 0
aload 2
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.uniquesRegion:Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;
10: aload 0
aload 9
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
11: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
12: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionTargets:Ljava/util/ArrayList;
13: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.debugInfo:Ljava/util/ArrayList;
14: aload 0
aload 6
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;
getstatic com.oracle.truffle.llvm.runtime.options.SulongEngineOption.OPTIMIZE_FRAME_SLOTS: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 15
aload 6
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;
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
ifne 15
iconst_1
goto 16
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion java.util.List int com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver com.oracle.truffle.llvm.runtime.LLVMContext java.util.ArrayList java.util.HashSet com.oracle.truffle.llvm.runtime.datalayout.DataLayout com.oracle.truffle.llvm.runtime.NodeFactory
StackMap stack: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor
15: iconst_0
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion java.util.List int com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver com.oracle.truffle.llvm.runtime.LLVMContext java.util.ArrayList java.util.HashSet com.oracle.truffle.llvm.runtime.datalayout.DataLayout com.oracle.truffle.llvm.runtime.NodeFactory
StackMap stack: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor int
16: putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.optimizeFrameSlots:Z
17: return
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 18 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 18 1 frame Lcom/oracle/truffle/api/frame/FrameDescriptor;
0 18 2 uniquesRegion Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;
0 18 3 blockPhis Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
0 18 4 argCount I
0 18 5 symbols Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
0 18 6 context Lcom/oracle/truffle/llvm/runtime/LLVMContext;
0 18 7 nullerInfos Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMLivenessAnalysis$NullerInformation;>;
0 18 8 neededForDebug Ljava/util/HashSet<Ljava/lang/Integer;>;
0 18 9 dataLayout Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
0 18 10 nodeFactory Lcom/oracle/truffle/llvm/runtime/NodeFactory;
Signature: (Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;ILcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;Lcom/oracle/truffle/llvm/runtime/LLVMContext;Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMLivenessAnalysis$NullerInformation;>;Ljava/util/HashSet<Ljava/lang/Integer;>;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)V
MethodParameters:
Name Flags
frame
uniquesRegion
blockPhis
argCount
symbols
context
nullerInfos
neededForDebug
dataLayout
nodeFactory
public com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode getControlFlowNode();
descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.controlFlowNode:Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
public void setInstructionIndex(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionTargets:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifne 17
2: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
ifne 3
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$NullerInformation
invokevirtual com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$NullerInformation.getInstructionIndex:()I
iload 1
if_icmpge 3
new java.lang.AssertionError
dup
ldc "we either missed an instruction or the nuller information is not sorted correctly"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 4: goto 6
5: StackMap locals: int
StackMap stack:
iinc 2 -1
6: StackMap locals:
StackMap stack:
iload 2
ifle 7
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
iload 2
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$NullerInformation
invokevirtual com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$NullerInformation.getInstructionIndex:()I
iload 1
if_icmpeq 5
7: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmpge 17
8: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iload 2
isub
anewarray com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
astore 3
start local 3 9: aload 3
arraylength
iconst_1
isub
istore 4
start local 4 10: goto 14
11: StackMap locals: com.oracle.truffle.llvm.runtime.types.symbols.SSAValue[] int
StackMap stack:
aload 3
iload 4
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
iload 2
iload 4
iadd
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$NullerInformation
invokevirtual com.oracle.truffle.llvm.parser.LLVMLivenessAnalysis$NullerInformation.getIdentifier:()Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
aastore
12: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfos:Ljava/util/ArrayList;
iload 2
iload 4
iadd
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
13: iinc 4 -1
StackMap locals:
StackMap stack:
14: iload 4
ifge 11
end local 4 15: aload 0
aload 3
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfo:[Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
16: return
end local 3 end local 2 17: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfo:[Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 19 1 instructionIndex I
4 17 2 last I
9 17 3 slots [Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
10 15 4 i I
MethodParameters:
Name Flags
instructionIndex
public com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] finish();
descriptor: ()[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 9
2: StackMap locals: int
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionTargets:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
astore 3
start local 3 4: aload 3
ifnonnull 6
5: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
ifne 8
aload 2
instanceof com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
StackMap stack:
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
ifne 7
aload 2
instanceof com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
iload 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 3
invokeinterface com.oracle.truffle.llvm.runtime.types.symbols.SSAValue.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 2
checkcast com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 3
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;
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;
invokevirtual java.util.ArrayList.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 3 end local 2 8: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
9: iload 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 2
end local 1 10: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
getstatic com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode.NO_STATEMENTS:[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
1 10 1 i I
3 8 2 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMNode;
4 8 3 target Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
public com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo[] getDebugInfo();
descriptor: ()[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.debugInfo:Ljava/util/ArrayList;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.debugInfo:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
anewarray com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
private com.oracle.truffle.api.frame.FrameSlot[] createNullerSlots(com.oracle.truffle.llvm.runtime.types.symbols.SSAValue[]);
descriptor: ([Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;)[Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
ifnull 18
1: iconst_0
istore 2
start local 2 2: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.runtime.types.symbols.SSAValue[] int top int int com.oracle.truffle.llvm.runtime.types.symbols.SSAValue[]
StackMap stack:
3: aload 6
iload 4
aaload
astore 3
start local 3 4: aload 3
ifnull 6
5: iinc 2 1
end local 3 6: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 3
8: iload 2
ifle 18
9: iconst_0
istore 3
start local 3 10: iload 2
anewarray com.oracle.truffle.api.frame.FrameSlot
astore 4
start local 4 11: aload 1
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 16
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.runtime.types.symbols.SSAValue[] int int com.oracle.truffle.api.frame.FrameSlot[] top int int com.oracle.truffle.llvm.runtime.types.symbols.SSAValue[]
StackMap stack:
12: aload 8
iload 6
aaload
astore 5
start local 5 13: aload 5
ifnull 15
14: aload 4
iload 3
iinc 3 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 5
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;
aastore
end local 5 15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 7
if_icmplt 12
17: aload 4
areturn
end local 4 end local 3 end local 2 18: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.runtime.types.symbols.SSAValue[]
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 19 1 stackValues [Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
2 18 2 count I
4 6 3 value Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
10 18 3 pos I
11 18 4 result [Lcom/oracle/truffle/api/frame/FrameSlot;
13 15 5 value Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
MethodParameters:
Name Flags
stackValues
public static com.oracle.truffle.api.frame.FrameSlot findFrameSlot(com.oracle.truffle.api.frame.FrameDescriptor, int);
descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;I)Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 frame Lcom/oracle/truffle/api/frame/FrameDescriptor;
0 1 1 frameIdentifier I
MethodParameters:
Name Flags
frame
frameIdentifier
public void defaultAction(com.oracle.truffle.llvm.parser.model.SymbolImpl);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.llvm.runtime.except.LLVMParserException
dup
new java.lang.StringBuilder
dup
ldc "Instruction not implemented: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMParserException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 1 1 symbol Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
MethodParameters:
Name Flags
symbol
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode resolveOptimized(com.oracle.truffle.llvm.parser.model.SymbolImpl, int, com.oracle.truffle.llvm.parser.model.SymbolImpl, com.oracle.truffle.llvm.parser.model.SymbolImpl[]);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.optimizeFrameSlots:Z
ifeq 21
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfo:[Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
ifnull 21
1: aload 1
instanceof com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
ifeq 21
2: aload 1
aload 3
if_acmpeq 3
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.neededForDebug:Ljava/util/HashSet;
aload 1
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.contains:(Ljava/lang/Object;)Z
ifeq 4
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 5: goto 10
6: StackMap locals: int
StackMap stack:
aload 4
iload 5
aaload
astore 6
start local 6 7: iload 5
iload 2
if_icmpeq 9
aload 1
aload 6
if_acmpne 9
8: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
end local 6 9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
aload 4
arraylength
if_icmplt 6
end local 5 11: iconst_0
istore 5
start local 5 12: goto 20
13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfo:[Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
iload 5
aaload
aload 1
if_acmpne 19
14: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfo:[Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
iload 5
aaload
invokeinterface com.oracle.truffle.llvm.runtime.types.symbols.SSAValue.getFrameIdentifier:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
ifnonnull 21
15: aload 0
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfo:[Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
iload 5
aaload
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.extractNulledValue:(Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 16: aload 6
ifnull 21
17: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfo:[Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
iload 5
aconst_null
aastore
18: aload 6
areturn
end local 6 19: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
20: iload 5
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nullerInfo:[Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
arraylength
if_icmplt 13
end local 5 21: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
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/nodes/LLVMBitcodeInstructionVisitor;
0 22 1 symbol Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
0 22 2 excludeOtherIndex I
0 22 3 other Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
0 22 4 others [Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
5 11 5 i I
7 9 6 o Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
12 21 5 i I
16 19 6 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
symbol
excludeOtherIndex
other
others
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode resolveOptimized(com.oracle.truffle.llvm.parser.model.SymbolImpl, com.oracle.truffle.llvm.parser.model.SymbolImpl[]);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_m1
aconst_null
aload 2
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 1 1 symbol Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
0 1 2 other [Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
MethodParameters:
Name Flags
symbol
other
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode (com.oracle.truffle.llvm.runtime.types.symbols.SSAValue);
descriptor: (Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionTargets:Ljava/util/ArrayList;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionTargets:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
astore 2
start local 2 4: aload 2
aload 1
if_acmpne 9
5: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 3
start local 3 6: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
7: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionTargets:Ljava/util/ArrayList;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionTargets:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
8: aload 3
areturn
end local 3 9: StackMap locals: com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 10 1 slot Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
4 10 2 target Lcom/oracle/truffle/llvm/runtime/types/symbols/SSAValue;
6 9 3 expression Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
slot
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.AllocateInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/AllocateInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.AllocateInstruction.getPointeeType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.AllocateInstruction.getAlign:()I
ifne 4
2: aload 2
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
invokevirtual com.oracle.truffle.llvm.runtime.types.Type.getAlignment:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)I
istore 3
start local 3 3: goto 5
end local 3 4: StackMap locals: com.oracle.truffle.llvm.runtime.types.Type
StackMap stack:
iconst_1
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.AllocateInstruction.getAlign:()I
iconst_1
isub
ishl
istore 3
start local 3 5: StackMap locals: int
StackMap stack:
iload 3
ifne 7
6: iconst_1
istore 3
7: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.AllocateInstruction.getCount:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 4
start local 4 8: aload 4
instanceof com.oracle.truffle.llvm.parser.model.symbols.constants.NullConstant
ifeq 11
9: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
iload 3
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createAlloca:(Lcom/oracle/truffle/llvm/runtime/types/Type;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 10: goto 21
end local 5 StackMap locals: com.oracle.truffle.llvm.parser.model.SymbolImpl
StackMap stack:
11: aload 4
instanceof com.oracle.truffle.llvm.parser.model.symbols.constants.integer.IntegerConstant
ifeq 19
12: aload 4
checkcast com.oracle.truffle.llvm.parser.model.symbols.constants.integer.IntegerConstant
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.constants.integer.IntegerConstant.getValue:()J
lstore 6
start local 6 13: lload 6
lconst_1
lcmp
ifne 16
14: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
iload 3
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createAlloca:(Lcom/oracle/truffle/llvm/runtime/types/Type;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 15: goto 21
end local 5 16: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.AllocateInstruction com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.parser.model.SymbolImpl top long
StackMap stack:
new com.oracle.truffle.llvm.runtime.types.ArrayType
dup
aload 2
lload 6
invokespecial com.oracle.truffle.llvm.runtime.types.ArrayType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;J)V
astore 8
start local 8 17: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 8
iload 3
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createAlloca:(Lcom/oracle/truffle/llvm/runtime/types/Type;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
end local 8 end local 6 start local 5 18: goto 21
end local 5 19: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.AllocateInstruction com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.parser.model.SymbolImpl
StackMap stack:
aload 0
aload 4
iconst_0
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 20: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 6
iload 3
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createAllocaArray:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
end local 6 start local 5 21: StackMap locals: com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.context:Lcom/oracle/truffle/llvm/runtime/LLVMContext;
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;
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
ifeq 24
22: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.FORCED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
astore 6
start local 6 23: goto 25
end local 6 24: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.DISABLED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
astore 6
start local 6 25: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy
StackMap stack:
aload 0
aload 5
aload 1
aload 6
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
26: 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 27 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 27 1 allocate Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/AllocateInstruction;
1 27 2 type Lcom/oracle/truffle/llvm/runtime/types/Type;
3 4 3 alignment I
5 27 3 alignment I
8 27 4 count Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
10 11 5 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
15 16 5 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
18 19 5 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
21 27 5 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
13 18 6 numElements J
17 18 8 arrayType Lcom/oracle/truffle/llvm/runtime/types/ArrayType;
20 21 6 num Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
23 24 6 intention Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
25 27 6 intention Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
MethodParameters:
Name Flags
allocate
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.BinaryOperationInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/BinaryOperationInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.BinaryOperationInstruction.getRHS:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.BinaryOperationInstruction.getLHS:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 3
start local 3 2: aload 0
aload 2
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 3
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 3: aload 0
aload 3
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 2
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 4: aload 5
aload 4
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.BinaryOperationInstruction.getOperator:()Lcom/oracle/truffle/llvm/parser/model/enums/BinaryOperator;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.BinaryOperationInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokestatic com.oracle.truffle.llvm.parser.util.LLVMBitcodeTypeHelper.createArithmeticInstruction:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/enums/BinaryOperator;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 5: aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
6: 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 7 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 7 1 operation Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/BinaryOperationInstruction;
1 7 2 rhs Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
2 7 3 lhs Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
3 7 4 rhsNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 7 5 lhsNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
5 7 6 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
operation
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.UnaryOperationInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/UnaryOperationInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.UnaryOperationInstruction.getOperand:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 2
start local 2 1: aload 0
aload 2
iconst_0
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 3
start local 3 2: aload 3
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.UnaryOperationInstruction.getOperator:()Lcom/oracle/truffle/llvm/parser/model/enums/UnaryOperator;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.UnaryOperationInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokestatic com.oracle.truffle.llvm.parser.util.LLVMBitcodeTypeHelper.createUnaryInstruction:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/enums/UnaryOperator;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 3: aload 0
aload 4
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
4: return
end local 4 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/parser/nodes/LLVMBitcodeInstructionVisitor;
0 5 1 operation Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/UnaryOperationInstruction;
1 5 2 operand Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
2 5 3 operandNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
3 5 4 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
operation
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.BranchInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/BranchInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.BranchInstruction.getSuccessor:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
1: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getPhiWriteNodes:(Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/TerminatingInstruction;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
iconst_0
aaload
2: invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createUnconditionalBranch:(ILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 2
start local 2 3: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 5 1 branch Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/BranchInstruction;
3 5 2 unconditionalBranchNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
MethodParameters:
Name Flags
branch
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/CallInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction.getArgumentCount:()I
aload 2
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getArgumentCount:(ILcom/oracle/truffle/llvm/runtime/types/Type;)I
istore 3
start local 3 2: iload 3
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 4
start local 4 3: new com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder
dup
iload 3
invokespecial com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.<init>:(I)V
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: aload 4
iload 6
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createGetStackFromFrame:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
6: aload 5
iload 6
new com.oracle.truffle.llvm.runtime.types.PointerType
dup
aconst_null
invokespecial com.oracle.truffle.llvm.runtime.types.PointerType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;)V
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
7: iinc 6 1
8: aload 2
instanceof com.oracle.truffle.llvm.runtime.types.StructureType
ifeq 12
9: aload 5
iload 6
new com.oracle.truffle.llvm.runtime.types.PointerType
dup
aload 2
invokespecial com.oracle.truffle.llvm.runtime.types.PointerType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;)V
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
10: aload 4
iload 6
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.uniquesRegion:Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createGetUniqueStackSpace:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
11: iinc 6 1
12: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction.getCallTarget:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 7
start local 7 13: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction.getArgumentCount:()I
iconst_1
isub
istore 8
start local 8 14: goto 21
15: StackMap locals: com.oracle.truffle.llvm.parser.model.SymbolImpl int
StackMap stack:
aload 4
iload 6
iload 8
iadd
aload 0
aload 1
iload 8
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction.getArgument:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
iload 8
aload 7
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction.getArguments:()[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
16: aload 5
iload 6
iload 8
iadd
aload 1
iload 8
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction.getArgument:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
17: aload 1
iload 8
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction.getParameterAttributesGroup:(I)Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
astore 9
start local 9 18: aload 9
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.isByValue:(Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Z
ifeq 20
19: aload 4
iload 6
iload 8
iadd
aload 0
aload 4
iload 6
iload 8
iadd
aaload
aload 5
iload 6
iload 8
iadd
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 9
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.capsuleAddressByValue:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
end local 9 20: StackMap locals:
StackMap stack:
iinc 8 -1
StackMap locals:
StackMap stack:
21: iload 8
ifge 15
end local 8 22: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 7
aload 4
aload 5
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.argCount:I
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createLLVMBuiltin:(Lcom/oracle/truffle/llvm/runtime/types/symbols/Symbol;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
start local 8 23: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ONLY_FIRST_STATEMENT_ON_LOCATION:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
astore 9
start local 9 24: aload 8
ifnonnull 32
25: aload 7
instanceof com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant
ifeq 29
26: aload 7
checkcast com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant
astore 10
start local 10 27: aload 0
aload 10
aload 4
aload 5
aload 2
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createInlineAssemblerNode:(Lcom/oracle/truffle/llvm/parser/model/symbols/constants/InlineAsmConstant;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
end local 10 28: goto 32
29: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int com.oracle.truffle.llvm.parser.model.SymbolImpl com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 7
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 10
start local 10 30: aload 10
aload 4
new com.oracle.truffle.llvm.runtime.types.FunctionType
dup
aload 2
aload 5
iconst_0
invokespecial com.oracle.truffle.llvm.runtime.types.FunctionType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Z)V
invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createFunctionCall:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/FunctionType;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
31: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.FORCED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
astore 9
end local 10 32: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 1
aload 9
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
33: return
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 34 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 34 1 call Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/CallInstruction;
1 34 2 targetType Lcom/oracle/truffle/llvm/runtime/types/Type;
2 34 3 argumentCount I
3 34 4 argNodes [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 34 5 argTypes Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
5 34 6 argIndex I
13 34 7 target Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
14 22 8 i I
18 20 9 paramAttr Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
23 34 8 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
24 34 9 intent Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
27 28 10 inlineAsmConstant Lcom/oracle/truffle/llvm/parser/model/symbols/constants/InlineAsmConstant;
30 32 10 function Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
call
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.LandingpadInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/LandingpadInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.LandingpadInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.uniquesRegion:Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createGetUniqueStackSpace:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.LandingpadInstruction.getClauseSymbols:()[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
arraylength
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 7
5: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.LandingpadInstruction com.oracle.truffle.llvm.runtime.types.Type com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] int
StackMap stack:
aload 4
iload 5
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.LandingpadInstruction.getClauseSymbols:()[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
iload 5
aaload
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
aload 4
arraylength
if_icmplt 5
end local 5 8: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createGetStackFromFrame:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 9: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 3
aload 0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getExceptionSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.LandingpadInstruction.isCleanup:()Z
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.LandingpadInstruction.getClauseTypes:()[J
10: aload 4
aload 5
11: invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createLandingPad:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/api/frame/FrameSlot;Z[J[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 12: aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
13: 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 14 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 14 1 landingpadInstruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/LandingpadInstruction;
1 14 2 type Lcom/oracle/truffle/llvm/runtime/types/Type;
2 14 3 allocateLandingPadValue Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
3 14 4 entries [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 8 5 i I
9 14 5 getStack Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
12 14 6 landingPad Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
landingpadInstruction
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.ResumeInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ResumeInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getExceptionSlot:()Lcom/oracle/truffle/api/frame/FrameSlot;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createResumeInstruction:(Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 3 1 resumeInstruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ResumeInstruction;
1 3 2 resume Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
MethodParameters:
Name Flags
resumeInstruction
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.CompareExchangeInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/CompareExchangeInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CompareExchangeInstruction.getPtr:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CompareExchangeInstruction.getCmp:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CompareExchangeInstruction.getReplace:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 4
start local 4 3: aload 0
aload 4
iconst_2
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 4: aload 0
aload 3
iconst_2
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 5: aload 0
aload 2
iconst_2
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 7
start local 7 6: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CompareExchangeInstruction.getAggregateType:()Lcom/oracle/truffle/llvm/runtime/types/AggregateType;
aload 3
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 7
aload 6
aload 5
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createCompareExchangeInstruction:(Lcom/oracle/truffle/llvm/runtime/types/AggregateType;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
start local 8 7: aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
8: return
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 9 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 9 1 cmpxchg Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/CompareExchangeInstruction;
1 9 2 ptr Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
2 9 3 cmp Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
3 9 4 replace Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
4 9 5 newNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
5 9 6 cmpNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
6 9 7 ptrNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
7 9 8 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
cmpxchg
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.VaArgInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/VaArgInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VaArgInstruction.getSource:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
iconst_0
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VaArgInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 2
invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createVaArg:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 3
start local 3 2: aload 0
aload 3
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 4 1 vaArgInst Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/VaArgInstruction;
1 4 2 source Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
2 4 3 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
vaArgInst
public void initializeAggregateLocalVariable(com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable);
descriptor: (Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.debugInfo:Ljava/util/ArrayList;
new com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$InitAggreateLocalVariable
dup
iconst_0
aload 1
invokespecial com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$InitAggreateLocalVariable.<init>:(ILcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 3 1 variable Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;
MethodParameters:
Name Flags
variable
private void handleDebugIntrinsic(com.oracle.truffle.llvm.parser.model.SymbolImpl, com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable, com.oracle.truffle.llvm.parser.metadata.MDExpression, long, boolean);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;JZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 0: lload 4
lconst_0
lcmp
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
iconst_m1
istore 7
start local 7 3: aconst_null
astore 8
start local 8 4: aload 1
instanceof com.oracle.truffle.llvm.parser.model.symbols.constants.UndefinedConstant
ifeq 7
5: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
new com.oracle.truffle.llvm.parser.model.symbols.constants.NullConstant
dup
getstatic com.oracle.truffle.llvm.runtime.types.MetaType.DEBUG:Lcom/oracle/truffle/llvm/runtime/types/MetaType;
invokespecial com.oracle.truffle.llvm.parser.model.symbols.constants.NullConstant.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;)V
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
6: goto 17
StackMap locals: int java.lang.Object
StackMap stack:
7: aload 1
instanceof com.oracle.truffle.llvm.parser.model.symbols.constants.AbstractConstant
ifeq 10
8: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
9: goto 17
StackMap locals:
StackMap stack:
10: aload 1
instanceof com.oracle.truffle.llvm.parser.model.symbols.globals.GlobalValueSymbol
ifeq 13
11: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
12: goto 17
StackMap locals:
StackMap stack:
13: aload 1
instanceof com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
ifeq 16
14: aload 1
checkcast com.oracle.truffle.llvm.runtime.types.symbols.SSAValue
invokeinterface com.oracle.truffle.llvm.runtime.types.symbols.SSAValue.getFrameIdentifier:()I
istore 7
15: goto 17
16: StackMap locals:
StackMap stack:
return
17: StackMap locals:
StackMap stack:
aload 8
ifnonnull 19
iload 7
iconst_m1
if_icmpne 19
18: return
19: StackMap locals:
StackMap stack:
iconst_m1
istore 9
start local 9 20: aconst_null
astore 10
start local 10 21: aload 3
invokestatic com.oracle.truffle.llvm.parser.metadata.debuginfo.ValueFragment.describesFragment:(Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;)Z
ifeq 28
22: aload 3
invokestatic com.oracle.truffle.llvm.parser.metadata.debuginfo.ValueFragment.parse:(Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;)Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/ValueFragment;
astore 11
start local 11 23: aload 2
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.getFragments:()Ljava/util/List;
astore 12
start local 12 24: new java.util.ArrayList
dup
aload 12
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 13
start local 13 25: aload 11
aload 12
aload 13
invokestatic com.oracle.truffle.llvm.parser.metadata.debuginfo.ValueFragment.getPartIndex:(Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/ValueFragment;Ljava/util/List;Ljava/util/List;)I
istore 9
26: aload 13
invokeinterface java.util.List.isEmpty:()Z
ifne 28
27: aload 13
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
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;)I
java/lang/Integer.intValue()I (5)
(Ljava/lang/Integer;)I
invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
invokeinterface java.util.stream.IntStream.toArray:()[I
astore 10
end local 13 end local 12 end local 11 28: StackMap locals: int int[]
StackMap stack:
iload 9
ifge 43
aload 2
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.hasFragments:()Z
ifeq 43
29: aload 2
iconst_0
aload 2
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.getSymbol:()Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;
invokevirtual com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol.getType:()Lcom/oracle/truffle/llvm/runtime/debug/type/LLVMSourceType;
invokevirtual com.oracle.truffle.llvm.runtime.debug.type.LLVMSourceType.getSize:()J
l2i
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.getFragmentIndex:(II)I
istore 9
30: iload 9
ifge 32
31: new com.oracle.truffle.llvm.runtime.except.LLVMParserException
dup
ldc "Cannot find index of value fragment!"
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMParserException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.getFragments:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
newarray 10
astore 10
33: iconst_0
istore 11
start local 11 34: goto 37
35: StackMap locals: int
StackMap stack:
aload 10
iload 11
iload 11
iastore
36: iinc 11 1
StackMap locals:
StackMap stack:
37: iload 11
iload 9
if_icmplt 35
end local 11 38: iload 9
istore 11
start local 11 39: goto 42
40: StackMap locals:
StackMap stack:
aload 10
iload 11
iload 11
iconst_1
iadd
iastore
41: iinc 11 1
StackMap locals:
StackMap stack:
42: iload 11
aload 10
arraylength
if_icmplt 40
end local 11 43: StackMap locals:
StackMap stack:
iload 6
ifne 44
aload 3
aload 2
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.getSourceType:()Lcom/oracle/truffle/llvm/runtime/debug/type/LLVMSourceType;
aload 1
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.mustDereferenceValue:(Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;Lcom/oracle/truffle/llvm/runtime/debug/type/LLVMSourceType;Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Z
ifne 44
iconst_0
goto 45
StackMap locals:
StackMap stack:
44: iconst_1
StackMap locals:
StackMap stack: int
45: istore 11
start local 11 46: aload 10
ifnull 48
aload 10
arraylength
ifeq 48
47: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.debugInfo:Ljava/util/ArrayList;
new com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$ClearLocalVariableParts
dup
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
aload 2
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.getSymbol:()Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;
aload 10
invokespecial com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$ClearLocalVariableParts.<init>:(ILcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;[I)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
48: StackMap locals: int
StackMap stack:
iload 9
ifge 51
aload 10
ifnonnull 51
49: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.debugInfo:Ljava/util/ArrayList;
new com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$SimpleLocalVariable
dup
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iload 11
aload 8
iload 7
aload 2
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.getSymbol:()Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;
invokespecial com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$SimpleLocalVariable.<init>:(IZLjava/lang/Object;ILcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
50: goto 53
StackMap locals:
StackMap stack:
51: iload 9
iflt 53
52: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.debugInfo:Ljava/util/ArrayList;
new com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$SetLocalVariablePart
dup
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iload 11
aload 8
iload 7
aload 2
invokevirtual com.oracle.truffle.llvm.parser.metadata.debuginfo.SourceVariable.getSymbol:()Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;
iload 9
invokespecial com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$SetLocalVariablePart.<init>:(IZLjava/lang/Object;ILcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;I)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
53: StackMap locals:
StackMap stack:
return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 54 1 value Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
0 54 2 variable Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;
0 54 3 expression Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;
0 54 4 index J
0 54 6 isDeclaration Z
3 54 7 valueFrameIdentifier I
4 54 8 valueObject Ljava/lang/Object;
20 54 9 partIndex I
21 54 10 clearParts [I
23 28 11 fragment Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/ValueFragment;
24 28 12 siblings Ljava/util/List<Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/ValueFragment;>;
25 28 13 clearSiblings Ljava/util/List<Ljava/lang/Integer;>;
34 38 11 i I
39 43 11 i I
46 54 11 mustDereference Z
MethodParameters:
Name Flags
value
variable
expression
index
isDeclaration
private static boolean mustDereferenceValue(com.oracle.truffle.llvm.parser.metadata.MDExpression, com.oracle.truffle.llvm.runtime.debug.type.LLVMSourceType, com.oracle.truffle.llvm.parser.model.SymbolImpl);
descriptor: (Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;Lcom/oracle/truffle/llvm/runtime/debug/type/LLVMSourceType;Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic com.oracle.truffle.llvm.parser.metadata.DwarfOpcode.isDeref:(Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;)Z
ifne 2
aload 1
ifnull 1
aload 1
invokevirtual com.oracle.truffle.llvm.runtime.debug.type.LLVMSourceType.isPointer:()Z
ifne 1
aload 2
instanceof com.oracle.truffle.llvm.parser.model.symbols.instructions.AllocateInstruction
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 expr Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;
0 3 1 type Lcom/oracle/truffle/llvm/runtime/debug/type/LLVMSourceType;
0 3 2 value Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
MethodParameters:
Name Flags
expr
type
value
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgDeclareInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/DbgDeclareInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgDeclareInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgDeclareInstruction.getVariable:()Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgDeclareInstruction.getExpression:()Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;
lconst_0
iconst_1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.handleDebugIntrinsic:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;JZ)V
1: aload 0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.handleNullerInfo:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 3 1 inst Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/DbgDeclareInstruction;
MethodParameters:
Name Flags
inst
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgValueInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/DbgValueInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgValueInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgValueInstruction.getVariable:()Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgValueInstruction.getExpression:()Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.DbgValueInstruction.getIndex:()J
iconst_0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.handleDebugIntrinsic:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;Lcom/oracle/truffle/llvm/parser/metadata/debuginfo/SourceVariable;Lcom/oracle/truffle/llvm/parser/metadata/MDExpression;JZ)V
1: aload 0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.handleNullerInfo:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 3 1 inst Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/DbgValueInstruction;
MethodParameters:
Name Flags
inst
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.DebugTrapInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/DebugTrapInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createDebugTrap:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
aload 1
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.FORCED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.addStatement:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 2 1 inst Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/DebugTrapInstruction;
MethodParameters:
Name Flags
inst
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/VoidCallInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getArgumentCount:()I
iconst_1
iadd
istore 2
start local 2 1: iload 2
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 3
start local 3 2: new com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder
dup
iload 2
invokespecial com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.<init>:(I)V
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: aload 3
iload 5
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createGetStackFromFrame:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
5: aload 4
iload 5
new com.oracle.truffle.llvm.runtime.types.PointerType
dup
aconst_null
invokespecial com.oracle.truffle.llvm.runtime.types.PointerType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;)V
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
6: iinc 5 1
7: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getCallTarget:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 6
start local 6 8: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getArgumentCount:()I
iconst_1
isub
istore 7
start local 7 9: goto 16
10: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int com.oracle.truffle.llvm.parser.model.SymbolImpl int
StackMap stack:
aload 3
iload 5
iload 7
iadd
aload 0
aload 1
iload 7
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getArgument:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
iload 7
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getArguments:()[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
11: aload 4
iload 5
iload 7
iadd
aload 1
iload 7
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getArgument:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
12: aload 1
iload 7
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getParameterAttributesGroup:(I)Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
astore 8
start local 8 13: aload 8
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.isByValue:(Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Z
ifeq 15
14: aload 3
iload 5
iload 7
iadd
aload 0
aload 3
iload 5
iload 7
iadd
aaload
aload 4
iload 5
iload 7
iadd
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 8
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.capsuleAddressByValue:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
end local 8 15: StackMap locals:
StackMap stack:
iinc 7 -1
StackMap locals:
StackMap stack:
16: iload 7
ifge 10
end local 7 17: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 6
aload 3
aload 4
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.argCount:I
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createLLVMBuiltin:(Lcom/oracle/truffle/llvm/runtime/types/symbols/Symbol;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 7
start local 7 18: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ONLY_FIRST_STATEMENT_ON_LOCATION:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
astore 8
start local 8 19: aload 7
ifnonnull 29
20: aload 6
instanceof com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant
ifeq 25
21: aload 6
checkcast com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant
astore 9
start local 9 22: aload 0
aload 9
aload 3
aload 4
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createInlineAssemblerNode:(Lcom/oracle/truffle/llvm/parser/model/symbols/constants/InlineAsmConstant;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 7
23: aload 0
aload 7
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.assignSourceLocation:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMInstrumentableNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
end local 9 24: goto 29
25: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int com.oracle.truffle.llvm.parser.model.SymbolImpl com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy
StackMap stack:
aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getArguments:()[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 9
start local 9 26: new com.oracle.truffle.llvm.runtime.types.FunctionType
dup
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidCallInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 4
iconst_0
invokespecial com.oracle.truffle.llvm.runtime.types.FunctionType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Z)V
astore 10
start local 10 27: aload 9
aload 3
aload 10
invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createFunctionCall:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/FunctionType;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 7
28: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.FORCED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
astore 8
end local 10 end local 9 29: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 1
aload 8
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.addStatement:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
30: return
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 31 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 31 1 call Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/VoidCallInstruction;
1 31 2 argumentCount I
2 31 3 argNodes [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
3 31 4 argTypes Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
4 31 5 argIndex I
8 31 6 target Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
9 17 7 i I
13 15 8 paramAttr Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
18 31 7 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
19 31 8 intent Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
22 24 9 inlineAsmConstant Lcom/oracle/truffle/llvm/parser/model/symbols/constants/InlineAsmConstant;
26 29 9 function Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
27 29 10 functionType Lcom/oracle/truffle/llvm/runtime/types/FunctionType;
MethodParameters:
Name Flags
call
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/InvokeInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=16, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.getArgumentCount:()I
aload 2
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getArgumentCount:(ILcom/oracle/truffle/llvm/runtime/types/Type;)I
istore 3
start local 3 2: iload 3
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 4
start local 4 3: new com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder
dup
iload 3
invokespecial com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.<init>:(I)V
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: aload 4
iload 6
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createGetStackFromFrame:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
6: aload 5
iload 6
new com.oracle.truffle.llvm.runtime.types.PointerType
dup
aconst_null
invokespecial com.oracle.truffle.llvm.runtime.types.PointerType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;)V
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
7: iinc 6 1
8: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.getCallTarget:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 7
start local 7 9: aload 2
instanceof com.oracle.truffle.llvm.runtime.types.StructureType
ifeq 13
10: aload 5
iload 6
new com.oracle.truffle.llvm.runtime.types.PointerType
dup
aload 2
invokespecial com.oracle.truffle.llvm.runtime.types.PointerType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;)V
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
11: aload 4
iload 6
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.uniquesRegion:Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createGetUniqueStackSpace:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
12: iinc 6 1
13: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int com.oracle.truffle.llvm.parser.model.SymbolImpl
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.getArgumentCount:()I
iconst_1
isub
istore 8
start local 8 14: goto 21
15: StackMap locals: int
StackMap stack:
aload 4
iload 6
iload 8
iadd
aload 0
aload 1
iload 8
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.getArgument:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
iload 8
aload 7
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.getArguments:()[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
16: aload 5
iload 6
iload 8
iadd
aload 1
iload 8
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.getArgument:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
17: aload 1
iload 8
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.getParameterAttributesGroup:(I)Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
astore 9
start local 9 18: aload 9
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.isByValue:(Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Z
ifeq 20
19: aload 4
iload 6
iload 8
iadd
aload 0
aload 4
iload 6
iload 8
iadd
aaload
aload 5
iload 6
iload 8
iadd
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 9
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.capsuleAddressByValue:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
end local 9 20: StackMap locals:
StackMap stack:
iinc 8 -1
StackMap locals:
StackMap stack:
21: iload 8
ifge 15
end local 8 22: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.normalSuccessor:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
istore 8
start local 8 23: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.unwindSuccessor:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
istore 9
start local 9 24: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 25: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 26: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.blockPhis:Ljava/util/List;
ifnull 34
27: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.blockPhis:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 33
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int com.oracle.truffle.llvm.parser.model.SymbolImpl int int java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
28: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi
astore 12
start local 12 29: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction.normalSuccessor:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
aload 12
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getBlock:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
if_acmpne 32
30: aload 10
aload 12
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
31: goto 33
32: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int com.oracle.truffle.llvm.parser.model.SymbolImpl int int java.util.ArrayList java.util.ArrayList com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi java.util.Iterator
StackMap stack:
aload 11
aload 12
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 12 33: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int com.oracle.truffle.llvm.parser.model.SymbolImpl int int java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
34: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int com.oracle.truffle.llvm.parser.model.SymbolImpl int int java.util.ArrayList java.util.ArrayList
StackMap stack:
aload 0
aload 10
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createPhiWriteNodes:(Ljava/util/ArrayList;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
astore 12
start local 12 35: aload 0
aload 11
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createPhiWriteNodes:(Ljava/util/ArrayList;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
astore 13
start local 13 36: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 7
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 14
start local 14 37: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aconst_null
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 1
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;
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;
aload 14
aload 4
38: new com.oracle.truffle.llvm.runtime.types.FunctionType
dup
aload 2
aload 5
iconst_0
invokespecial com.oracle.truffle.llvm.runtime.types.FunctionType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Z)V
39: iload 8
iload 9
aload 12
aload 13
40: invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createFunctionInvoke:(Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/FunctionType;IILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 15
start local 15 41: aload 0
aload 15
aload 1
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.FORCED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
42: return
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 43 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 43 1 call Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/InvokeInstruction;
1 43 2 targetType Lcom/oracle/truffle/llvm/runtime/types/Type;
2 43 3 argumentCount I
3 43 4 argNodes [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 43 5 argTypes Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
5 43 6 argIndex I
9 43 7 target Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
14 22 8 i I
18 20 9 paramAttr Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
23 43 8 regularIndex I
24 43 9 unwindIndex I
25 43 10 normalTo Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
26 43 11 unwindTo Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
29 33 12 phi Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;
35 43 12 normalPhi Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
36 43 13 unwindPhi Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
37 43 14 function Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
41 43 15 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
MethodParameters:
Name Flags
call
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/VoidInvokeInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=15, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.getCallTarget:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.getArgumentCount:()I
iconst_1
iadd
istore 3
start local 3 2: iload 3
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 4
start local 4 3: new com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder
dup
iload 3
invokespecial com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.<init>:(I)V
astore 5
start local 5 4: iconst_0
istore 6
start local 6 5: aload 4
iload 6
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createGetStackFromFrame:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
6: aload 5
iload 6
new com.oracle.truffle.llvm.runtime.types.PointerType
dup
aconst_null
invokespecial com.oracle.truffle.llvm.runtime.types.PointerType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;)V
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
7: iinc 6 1
8: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.getArgumentCount:()I
iconst_1
isub
istore 7
start local 7 9: goto 16
10: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction com.oracle.truffle.llvm.parser.model.SymbolImpl int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int int
StackMap stack:
aload 4
iload 6
iload 7
iadd
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
iload 7
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.getArgument:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
11: aload 5
iload 6
iload 7
iadd
aload 1
iload 7
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.getArgument:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.set:(ILcom/oracle/truffle/llvm/runtime/types/Type;)V
12: aload 1
iload 7
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.getParameterAttributesGroup:(I)Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
astore 8
start local 8 13: aload 8
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.isByValue:(Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Z
ifeq 15
14: aload 4
iload 6
iload 7
iadd
aload 0
aload 4
iload 6
iload 7
iadd
aaload
aload 5
iload 6
iload 7
iadd
invokevirtual com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder.get:(I)Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 8
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.capsuleAddressByValue:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
end local 8 15: StackMap locals:
StackMap stack:
iinc 7 -1
StackMap locals:
StackMap stack:
16: iload 7
ifge 10
end local 7 17: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.normalSuccessor:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
istore 7
start local 7 18: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.unwindSuccessor:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
istore 8
start local 8 19: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 9
start local 9 20: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 21: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.blockPhis:Ljava/util/List;
ifnull 29
22: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.blockPhis:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 28
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction com.oracle.truffle.llvm.parser.model.SymbolImpl int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int int int java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
23: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi
astore 11
start local 11 24: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.normalSuccessor:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
aload 11
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getBlock:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
if_acmpne 27
25: aload 9
aload 11
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
26: goto 28
27: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction com.oracle.truffle.llvm.parser.model.SymbolImpl int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int int int java.util.ArrayList java.util.ArrayList com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi java.util.Iterator
StackMap stack:
aload 10
aload 11
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 11 28: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction com.oracle.truffle.llvm.parser.model.SymbolImpl int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int int int java.util.ArrayList java.util.ArrayList top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
29: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction com.oracle.truffle.llvm.parser.model.SymbolImpl int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder int int int java.util.ArrayList java.util.ArrayList
StackMap stack:
aload 0
aload 9
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createPhiWriteNodes:(Ljava/util/ArrayList;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
astore 11
start local 11 30: aload 0
aload 10
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createPhiWriteNodes:(Ljava/util/ArrayList;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
astore 12
start local 12 31: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.getArguments:()[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 13
start local 13 32: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aconst_null
aload 13
aload 4
new com.oracle.truffle.llvm.runtime.types.FunctionType
dup
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.VoidInvokeInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 5
iconst_0
invokespecial com.oracle.truffle.llvm.runtime.types.FunctionType.<init>:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Z)V
33: iload 7
iload 8
aload 11
aload 12
34: invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createFunctionInvoke:(Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/FunctionType;IILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 14
start local 14 35: aload 0
aload 14
aload 1
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.FORCED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
36: return
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 37 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 37 1 call Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/VoidInvokeInstruction;
1 37 2 target Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
2 37 3 argumentCount I
3 37 4 args [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 37 5 argsType Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
5 37 6 argIndex I
9 17 7 i I
13 15 8 paramAttr Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
18 37 7 regularIndex I
19 37 8 unwindIndex I
20 37 9 normalTo Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
21 37 10 unwindTo Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
24 28 11 phi Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;
30 37 11 normalPhi Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
31 37 12 unwindPhi Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
32 37 13 function Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
35 37 14 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
MethodParameters:
Name Flags
call
private static int getArgumentCount(int, com.oracle.truffle.llvm.runtime.types.Type);
descriptor: (ILcom/oracle/truffle/llvm/runtime/types/Type;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: iload 0
istore 2
start local 2 1: aload 1
instanceof com.oracle.truffle.llvm.runtime.types.StructureType
ifeq 3
2: iinc 2 1
3: StackMap locals: int
StackMap stack:
iinc 2 1
4: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 argumentCount I
0 5 1 targetType Lcom/oracle/truffle/llvm/runtime/types/Type;
1 5 2 count I
MethodParameters:
Name Flags
argumentCount
targetType final
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.CastInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/CastInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CastInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
iconst_0
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CastInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CastInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 4
start local 4 3: aload 2
aload 4
aload 3
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CastInstruction.getOperator:()Lcom/oracle/truffle/llvm/parser/model/enums/CastOperator;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokestatic com.oracle.truffle.llvm.parser.util.LLVMBitcodeTypeHelper.createCast:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/parser/model/enums/CastOperator;Lcom/oracle/truffle/llvm/runtime/NodeFactory;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 4: aload 0
aload 5
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
5: return
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 6 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 6 1 cast Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/CastInstruction;
1 6 2 fromNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
2 6 3 from Lcom/oracle/truffle/llvm/runtime/types/Type;
3 6 4 to Lcom/oracle/truffle/llvm/runtime/types/Type;
4 6 5 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
cast
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.CompareInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/CompareInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CompareInstruction.getRHS:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CompareInstruction.getLHS:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 3
start local 3 2: aload 0
aload 2
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 3
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 3: aload 0
aload 3
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 2
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 4: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.CompareInstruction.getOperator:()Lcom/oracle/truffle/llvm/runtime/CompareOperator;
aload 3
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 5
aload 4
invokestatic com.oracle.truffle.llvm.runtime.CommonNodeFactory.createComparison:(Lcom/oracle/truffle/llvm/runtime/CompareOperator;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 5: aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
6: 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 7 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 7 1 compare Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/CompareInstruction;
1 7 2 rhs Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
2 7 3 lhs Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
3 7 4 rhsNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 7 5 lhsNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
5 7 6 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
compare
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.ConditionalBranchInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ConditionalBranchInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ConditionalBranchInstruction.getCondition:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ConditionalBranchInstruction.getTrueSuccessor:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
istore 3
start local 3 2: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ConditionalBranchInstruction.getFalseSuccessor:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
istore 4
start local 4 3: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getPhiWriteNodes:(Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/TerminatingInstruction;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
astore 5
start local 5 4: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
iload 3
iload 4
aload 2
aload 5
iconst_0
aaload
aload 5
iconst_1
aaload
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createConditionalBranch:(IILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 6
start local 6 5: aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
6: 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 7 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 7 1 branch Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ConditionalBranchInstruction;
1 7 2 conditionNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
2 7 3 trueIndex I
3 7 4 falseIndex I
4 7 5 phiWriteNodes [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
5 7 6 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
MethodParameters:
Name Flags
branch
public void (com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractElementInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ExtractElementInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractElementInstruction.getIndex:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractElementInstruction.getVector:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 3
start local 3 2: aload 0
aload 2
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 3
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 3: aload 0
aload 3
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 2
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 4: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractElementInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 5
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createExtractElement:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 5: aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
6: 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 7 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 7 1 extract Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ExtractElementInstruction;
1 7 2 index Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
2 7 3 vector Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
3 7 4 indexNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 7 5 vectorNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
5 7 6 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
extract
public void (com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ExtractValueInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction.getAggregate:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
instanceof com.oracle.truffle.llvm.runtime.types.ArrayType
ifne 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction.getAggregate:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
instanceof com.oracle.truffle.llvm.runtime.types.StructureType
ifne 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction.getAggregate:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
instanceof com.oracle.truffle.llvm.runtime.types.PointerType
ifne 2
1: new com.oracle.truffle.llvm.runtime.except.LLVMParserException
dup
ldc "'extractvalue' can only extract elements of arrays and structs!"
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMParserException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction.getAggregate:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
iconst_0
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 2
start local 2 3: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction.getAggregate:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 3
start local 3 4: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction.getIndex:()I
istore 4
start local 4 5: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 5
start local 5 6: aload 2
astore 6
start local 6 7: aload 3
checkcast com.oracle.truffle.llvm.runtime.types.AggregateType
astore 7
start local 7 8: aload 7
iload 4
i2l
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
invokevirtual com.oracle.truffle.llvm.runtime.types.AggregateType.getOffsetOf:(JLcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)J
lstore 9
start local 9 9: aload 7
iload 4
i2l
invokevirtual com.oracle.truffle.llvm.runtime.types.AggregateType.getElementType:(J)Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 11
start local 11 10: aload 11
ifnull 12
aload 11
instanceof com.oracle.truffle.llvm.runtime.types.StructureType
ifeq 11
aload 11
checkcast com.oracle.truffle.llvm.runtime.types.StructureType
invokevirtual com.oracle.truffle.llvm.runtime.types.StructureType.isPacked:()Z
ifne 12
11: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.types.Type com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.types.AggregateType top long com.oracle.truffle.llvm.runtime.types.Type
StackMap stack:
lload 9
lload 9
aload 11
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
invokestatic com.oracle.truffle.llvm.runtime.types.Type.getPadding:(JLcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)I
i2l
invokestatic com.oracle.truffle.llvm.runtime.types.Type.addUnsignedExact:(JJ)J
lstore 9
12: StackMap locals:
StackMap stack:
lload 9
lconst_0
lcmp
ifeq 15
13: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType.I32: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;
astore 12
start local 12 14: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
lload 9
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 6
aload 12
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createTypedElementPointer:(JLcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
end local 12 15: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 5
aload 6
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createExtractValue:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
end local 11 end local 9 start local 8 16: goto 19
end local 8 StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.ExtractValueInstruction com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.types.Type com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.types.AggregateType
StackMap stack: com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
17: astore 9
start local 9 18: aload 9
invokestatic com.oracle.truffle.llvm.runtime.types.Type.handleOverflowExpression:(Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
end local 9 start local 8 19: StackMap locals: com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
StackMap stack:
aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
20: return
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 21 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 21 1 extract Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ExtractValueInstruction;
3 21 2 baseAddress Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 21 3 baseType Lcom/oracle/truffle/llvm/runtime/types/Type;
5 21 4 targetIndex I
6 21 5 resultType Lcom/oracle/truffle/llvm/runtime/types/Type;
7 21 6 targetAddress Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
8 21 7 aggregateType Lcom/oracle/truffle/llvm/runtime/types/AggregateType;
16 17 8 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
19 21 8 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
9 16 9 offset J
10 16 11 targetType Lcom/oracle/truffle/llvm/runtime/types/Type;
14 15 12 oneLiteralNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
18 19 9 e Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;
Exception table:
from to target type
8 16 17 Class com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
MethodParameters:
Name Flags
extract
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.GetElementPointerInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/GetElementPointerInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.GetElementPointerInstruction.getBasePointer:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.GetElementPointerInstruction.getIndices:()[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
aload 0
invokedynamic resolve(Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;)Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver$OptimizedResolver;
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:
(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
com/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor.lambda$2(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode; (7)
(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolveElementPointer:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver$OptimizedResolver;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 2 1 gep Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/GetElementPointerInstruction;
MethodParameters:
Name Flags
gep
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.IndirectBranchInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/IndirectBranchInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.IndirectBranchInstruction.getSuccessorCount:()I
iconst_1
if_icmple 11
1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.IndirectBranchInstruction.getSuccessorCount:()I
newarray 10
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: int[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.IndirectBranchInstruction.getSuccessor:(I)Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
iastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 7: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.IndirectBranchInstruction.getAddress:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 3
start local 3 8: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 3
aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getPhiWriteNodes:(Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/TerminatingInstruction;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createIndirectBranch:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[I[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 4
start local 4 9: aload 0
aload 4
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
end local 4 end local 3 end local 2 10: goto 14
11: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
ifne 12
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.IndirectBranchInstruction.getSuccessorCount:()I
iconst_1
if_icmpeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 1
iconst_0
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.IndirectBranchInstruction.getSuccessor:(I)Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getPhiWriteNodes:(Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/TerminatingInstruction;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
iconst_0
aaload
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createUnconditionalBranch:(ILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 2
start local 2 13: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
end local 2 14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 15 1 branch Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/IndirectBranchInstruction;
2 10 2 labelTargets [I
3 7 3 i I
8 10 3 value Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
9 10 4 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
13 14 2 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
MethodParameters:
Name Flags
branch
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertElementInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/InsertElementInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertElementInstruction.getIndex:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertElementInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertElementInstruction.getVector:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 4
start local 4 3: aload 0
aload 2
iconst_2
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 4: aload 0
aload 3
iconst_2
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 5: aload 0
aload 4
iconst_2
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 2
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 7
start local 7 6: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertElementInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 7
aload 6
aload 5
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createInsertElement:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
start local 8 7: aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
8: return
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 9 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 9 1 insert Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/InsertElementInstruction;
1 9 2 index Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
2 9 3 value Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
3 9 4 vector Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
4 9 5 indexNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
5 9 6 elementNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
6 9 7 vectorNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
7 9 8 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
insert
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertValueInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/InsertValueInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertValueInstruction.getAggregate:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
instanceof com.oracle.truffle.llvm.runtime.types.StructureType
ifne 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertValueInstruction.getAggregate:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
instanceof com.oracle.truffle.llvm.runtime.types.ArrayType
ifne 2
1: new com.oracle.truffle.llvm.runtime.except.LLVMParserException
dup
ldc "'insertvalue' can only insert values into arrays and structs!"
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMParserException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertValueInstruction.getAggregate:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
checkcast com.oracle.truffle.llvm.runtime.types.AggregateType
astore 2
start local 2 3: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertValueInstruction.getAggregate:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 3
start local 3 4: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertValueInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 5: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertValueInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 5
start local 5 6: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertValueInstruction.getIndex:()I
istore 6
start local 6 7: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.uniquesRegion:Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createGetUniqueStackSpace:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 7
start local 7 8: aload 2
iload 6
i2l
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
invokevirtual com.oracle.truffle.llvm.runtime.types.AggregateType.getOffsetOf:(JLcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)J
lstore 9
start local 9 9: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 7
aload 3
10: aload 2
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
invokevirtual com.oracle.truffle.llvm.runtime.types.AggregateType.getSize:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)J
lload 9
aload 4
aload 5
11: invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createInsertValue:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;JJLcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
end local 9 start local 8 12: goto 15
end local 8 StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.InsertValueInstruction com.oracle.truffle.llvm.runtime.types.AggregateType com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.types.Type int com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
StackMap stack: com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
13: astore 9
start local 9 14: aload 9
invokestatic com.oracle.truffle.llvm.runtime.types.Type.handleOverflowExpression:(Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 8
end local 9 start local 8 15: StackMap locals: com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
StackMap stack:
aload 0
aload 8
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
16: return
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 17 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 17 1 insert Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/InsertValueInstruction;
3 17 2 sourceType Lcom/oracle/truffle/llvm/runtime/types/AggregateType;
4 17 3 sourceAggregate Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
5 17 4 valueToInsert Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
6 17 5 valueType Lcom/oracle/truffle/llvm/runtime/types/Type;
7 17 6 targetIndex I
8 17 7 resultAggregate Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
12 13 8 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
15 17 8 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
9 12 9 offset J
14 15 9 e Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;
Exception table:
from to target type
8 12 13 Class com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
MethodParameters:
Name Flags
insert
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.LoadInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/LoadInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.LoadInstruction.getSource:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
iconst_0
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.LoadInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 2
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createLoad:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 3
start local 3 2: aload 0
aload 3
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 4 1 load Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/LoadInstruction;
1 4 2 source Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
2 4 3 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
load
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.PhiInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.handleNullerInfo:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 2 1 phi Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;
MethodParameters:
Name Flags
phi
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.ReturnInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ReturnInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ReturnInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
ifnonnull 3
1: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createRetVoid:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 2
start local 2 2: goto 6
end local 2 3: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ReturnInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 3
start local 3 4: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ReturnInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 5: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 4
aload 3
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createNonVoidRet:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 2
end local 4 end local 3 start local 2 6: StackMap locals: com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode
StackMap stack:
aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 8 1 ret Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ReturnInstruction;
2 3 2 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
6 8 2 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
4 6 3 type Lcom/oracle/truffle/llvm/runtime/types/Type;
5 6 4 value Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
ret
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.SelectInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/SelectInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SelectInstruction.getCondition:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SelectInstruction.getTrueValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SelectInstruction.getFalseValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 3: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SelectInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 5
start local 5 4: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 5
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createSelect:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 5: aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
6: 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 7 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 7 1 select Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/SelectInstruction;
1 7 2 condition Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
2 7 3 trueValue Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
3 7 4 falseValue Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 7 5 type Lcom/oracle/truffle/llvm/runtime/types/Type;
5 7 6 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
select
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.ShuffleVectorInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ShuffleVectorInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ShuffleVectorInstruction.getVector1:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ShuffleVectorInstruction.getVector2:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ShuffleVectorInstruction.getMask:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 3: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ShuffleVectorInstruction.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 5
start local 5 4: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 5
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createShuffleVector:(Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 6
start local 6 5: aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
6: 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 7 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 7 1 shuffle Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ShuffleVectorInstruction;
1 7 2 vector1 Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
2 7 3 vector2 Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
3 7 4 mask Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 7 5 type Lcom/oracle/truffle/llvm/runtime/types/Type;
5 7 6 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
shuffle
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.StoreInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/StoreInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.StoreInstruction.getSource:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.StoreInstruction.getDestination:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 3
start local 3 2: aload 0
aload 2
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 3
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 3: aload 0
aload 3
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 2
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 4: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.DISABLED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
astore 6
start local 6 5: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.StoreInstruction.getSource:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
instanceof com.oracle.truffle.llvm.parser.model.symbols.instructions.CallInstruction
ifne 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.StoreInstruction.getSource:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
instanceof com.oracle.truffle.llvm.parser.model.symbols.instructions.InvokeInstruction
ifeq 7
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.StoreInstruction com.oracle.truffle.llvm.parser.model.SymbolImpl com.oracle.truffle.llvm.parser.model.SymbolImpl com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy
StackMap stack:
6: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.context:Lcom/oracle/truffle/llvm/runtime/LLVMContext;
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;
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
ifeq 8
7: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ONLY_FIRST_STATEMENT_ON_LOCATION:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
astore 6
8: StackMap locals:
StackMap stack:
aload 2
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 7
start local 7 9: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 5
aload 4
aload 7
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createStore:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
astore 8
start local 8 10: aload 0
aload 8
aload 1
aload 6
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.addStatement:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
11: return
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 12 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 12 1 store Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/StoreInstruction;
1 12 2 value Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
2 12 3 pointer Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
3 12 4 valueNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 12 5 pointerNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
5 12 6 intention Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
9 12 7 type Lcom/oracle/truffle/llvm/runtime/types/Type;
10 12 8 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
MethodParameters:
Name Flags
store
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.ReadModifyWriteInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ReadModifyWriteInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ReadModifyWriteInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ReadModifyWriteInstruction.getPtr:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
astore 3
start local 3 2: aload 0
aload 2
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 3
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 4
start local 4 3: aload 0
aload 3
iconst_1
anewarray com.oracle.truffle.llvm.parser.model.SymbolImpl
dup
iconst_0
aload 2
aastore
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 5
start local 5 4: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ReadModifyWriteInstruction.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 6
start local 6 5: aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.ReadModifyWriteInstruction.getOperator:()Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
aload 5
aload 4
aload 6
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createReadModifyWrite:(Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 7
start local 7 6: aload 0
aload 7
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
7: 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 8 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 8 1 rmw Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ReadModifyWriteInstruction;
1 8 2 value Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
2 8 3 pointer Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
3 8 4 valueNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
4 8 5 pointerNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
5 8 6 type Lcom/oracle/truffle/llvm/runtime/types/Type;
6 8 7 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
MethodParameters:
Name Flags
rmw
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createReadModifyWrite(com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$SWITCH_TABLE$com$oracle$truffle$llvm$parser$model$enums$ReadModifyWriteOperator:()[I
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
iaload
tableswitch { // 1 - 13
1: 2
2: 3
3: 1
4: 4
5: 5
6: 6
7: 7
8: 8
9: 8
10: 8
11: 8
12: 8
13: 8
default: 8
}
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createRMWSub:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createRMWXchg:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createRMWAdd:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createRMWAnd:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createRMWNand:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createRMWOr:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
7: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createRMWXor:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
8: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.runtime.except.LLVMParserException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported read-modify-write operation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMParserException.<init>:(Ljava/lang/String;)V
athrow
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/nodes/LLVMBitcodeInstructionVisitor;
0 9 1 op Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
0 9 2 pointerNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
0 9 3 valueNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
0 9 4 type Lcom/oracle/truffle/llvm/runtime/types/Type;
MethodParameters:
Name Flags
op
pointerNode
valueNode
type
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.FenceInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/FenceInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createFence:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.addStatement:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 2 1 fence Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/FenceInstruction;
MethodParameters:
Name Flags
fence
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/SwitchInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchInstruction.getCondition:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchInstruction.getCaseCount:()I
iconst_1
iadd
newarray 10
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode int[] int
StackMap stack:
aload 3
iload 4
aload 1
iload 4
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchInstruction.getCaseBlock:(I)Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
iastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 3
arraylength
iconst_1
isub
if_icmplt 4
end local 4 7: aload 3
aload 3
arraylength
iconst_1
isub
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchInstruction.getDefaultBlock:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
iastore
8: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchInstruction.getCondition:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 4
start local 4 9: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchInstruction.getCaseCount:()I
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 5
start local 5 10: iconst_0
istore 6
start local 6 11: goto 14
12: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchInstruction com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode int[] com.oracle.truffle.llvm.runtime.types.Type com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] int
StackMap stack:
aload 5
iload 6
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
iload 6
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchInstruction.getCaseValue:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
13: iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
aload 5
arraylength
if_icmplt 12
end local 6 15: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 3
aload 5
aload 4
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getPhiWriteNodes:(Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/TerminatingInstruction;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createSwitch:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[I[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 6
start local 6 16: aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
17: 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 18 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 18 1 zwitch Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/SwitchInstruction;
1 18 2 cond Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
2 18 3 successors [I
3 7 4 i I
9 18 4 llvmType Lcom/oracle/truffle/llvm/runtime/types/Type;
10 18 5 cases [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
11 15 6 i I
16 18 6 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
MethodParameters:
Name Flags
zwitch
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] getPhiWriteNodes(com.oracle.truffle.llvm.parser.model.symbols.instructions.TerminatingInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/TerminatingInstruction;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.blockPhis:Ljava/util/List;
ifnull 3
1: aload 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.blockPhis:Ljava/util/List;
invokestatic com.oracle.truffle.llvm.parser.LLVMPhiManager.getPhisForSuccessors:(Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/TerminatingInstruction;Ljava/util/List;)[Ljava/util/ArrayList;
astore 2
start local 2 2: aload 0
aload 2
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createPhiWriteNodes:([Ljava/util/ArrayList;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 1
invokeinterface com.oracle.truffle.llvm.parser.model.symbols.instructions.TerminatingInstruction.getSuccessorCount:()I
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 4 1 terminatingInstruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/TerminatingInstruction;
2 3 2 phisPerSuccessor [Ljava/util/ArrayList;
MethodParameters:
Name Flags
terminatingInstruction
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] createPhiWriteNodes(java.util.ArrayList<com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi>[]);
descriptor: ([Ljava/util/ArrayList;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
arraylength
ifne 2
1: getstatic com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode.NO_STATEMENTS:[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
areturn
2: StackMap locals:
StackMap stack:
aload 1
arraylength
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode
astore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[] int
StackMap stack:
aload 2
iload 3
aload 0
aload 1
iload 3
aaload
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createPhiWriteNodes:(Ljava/util/ArrayList;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
aastore
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 2
arraylength
if_icmplt 5
end local 3 8: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 9 1 phisPerSuccessor [Ljava/util/ArrayList;
3 9 2 result [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
4 8 3 i I
Signature: ([Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
MethodParameters:
Name Flags
phisPerSuccessor
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode createPhiWriteNodes(java.util.ArrayList<com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi>);
descriptor: (Ljava/util/ArrayList;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.util.ArrayList.size:()I
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.util.ArrayList.size:()I
iconst_1
if_icmpne 5
3: aload 1
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 2
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 2
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getPhiValue:()Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;
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;
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;
areturn
end local 2 5: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 6: aload 1
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor java.util.ArrayList java.util.HashMap top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi
astore 3
start local 3 8: aload 2
aload 3
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getPhiValue:()Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;
aload 3
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 11: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 12: goto 27
13: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor java.util.ArrayList java.util.HashMap java.util.ArrayList java.util.ArrayList
StackMap stack:
iconst_0
istore 5
start local 5 14: aload 2
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
start local 6 15: goto 21
16: StackMap locals: int java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi
astore 7
start local 7 17: aload 2
aload 7
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifne 21
18: aload 6
invokeinterface java.util.Iterator.remove:()V
19: aload 3
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
20: iconst_1
istore 5
end local 7 21: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
22: iload 5
ifne 27
23: aload 2
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
24: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi
astore 7
start local 7 25: aload 6
invokeinterface java.util.Iterator.remove:()V
26: aload 4
aload 7
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 5 27: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.HashMap.isEmpty:()Z
ifeq 13
28: aload 4
invokevirtual java.util.ArrayList.size:()I
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 5
start local 5 29: aload 4
invokevirtual java.util.ArrayList.size:()I
anewarray com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode
astore 6
start local 6 30: aload 3
invokevirtual java.util.ArrayList.size:()I
anewarray com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode
astore 7
start local 7 31: iconst_0
istore 8
start local 8 32: goto 37
33: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor java.util.ArrayList java.util.HashMap java.util.ArrayList java.util.ArrayList com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode[] com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode[] int
StackMap stack:
aload 4
iload 8
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi
astore 9
start local 9 34: aload 5
iload 8
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 9
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aastore
35: aload 6
iload 8
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 9
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aconst_null
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 9
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getPhiValue:()Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;
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;
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;
aastore
end local 9 36: iinc 8 1
StackMap locals:
StackMap stack:
37: iload 8
aload 4
invokevirtual java.util.ArrayList.size:()I
if_icmplt 33
end local 8 38: iconst_0
istore 8
start local 8 39: goto 43
40: StackMap locals:
StackMap stack:
aload 3
aload 3
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
iload 8
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi
astore 9
start local 9 41: aload 7
iload 8
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 9
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 9
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getValue:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
aload 9
invokevirtual com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.getPhiValue:()Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;
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;
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;
aastore
end local 9 42: iinc 8 1
StackMap locals:
StackMap stack:
43: iload 8
aload 3
invokevirtual java.util.ArrayList.size:()I
if_icmplt 40
end local 8 44: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 5
aload 6
aload 7
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createPhi:([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;[Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
areturn
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 45 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 45 1 phis Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
4 5 2 phi Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;
6 45 2 pendingPhis Ljava/util/HashMap<Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
8 9 3 phi Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;
11 45 3 ordinary Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
12 45 4 cycles Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
14 27 5 progress Z
15 27 6 iter Ljava/util/Iterator<Ljava/util/Map$Entry<Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;>;
17 21 7 phi Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;
25 27 7 phi Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;
29 45 5 cycleFrom [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
30 45 6 cycleWrites [Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;
31 45 7 ordinaryWrites [Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;
32 38 8 i I
34 36 9 phi Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;
39 44 8 i I
41 42 9 phi Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;
Signature: (Ljava/util/ArrayList<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
MethodParameters:
Name Flags
phis
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/SwitchOldInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.symbols:Lcom/oracle/truffle/llvm/parser/nodes/LLVMSymbolReadResolver;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getCondition:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver.resolve:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getCaseCount:()I
iconst_1
iadd
newarray 10
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
4: StackMap locals: com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode int[] int
StackMap stack:
aload 3
iload 4
aload 1
iload 4
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getCaseBlock:(I)Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
iastore
5: iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
aload 3
arraylength
iconst_1
isub
if_icmplt 4
end local 4 7: aload 3
aload 3
arraylength
iconst_1
isub
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getDefaultBlock:()Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.getBlockIndex:()I
iastore
8: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getCondition:()Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokeinterface com.oracle.truffle.llvm.parser.model.SymbolImpl.getType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
checkcast com.oracle.truffle.llvm.runtime.types.PrimitiveType
astore 4
start local 4 9: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getCaseCount:()I
anewarray com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode
astore 5
start local 5 10: iconst_0
istore 6
start local 6 11: goto 21
12: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode int[] com.oracle.truffle.llvm.runtime.types.PrimitiveType com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[] int
StackMap stack:
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:()[I
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType.getPrimitiveKind:()Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
iaload
tableswitch { // 2 - 4
2: 13
3: 15
4: 17
default: 19
}
13: StackMap locals:
StackMap stack:
aload 5
iload 6
aload 1
iload 6
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getCaseValue:(I)J
l2i
i2b
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aload 4
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
14: goto 20
15: StackMap locals:
StackMap stack:
aload 5
iload 6
aload 1
iload 6
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getCaseValue:(I)J
l2i
i2s
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
aload 4
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
16: goto 20
17: StackMap locals:
StackMap stack:
aload 5
iload 6
aload 1
iload 6
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getCaseValue:(I)J
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
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
18: goto 20
19: StackMap locals:
StackMap stack:
aload 5
iload 6
aload 1
iload 6
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.SwitchOldInstruction.getCaseValue:(I)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 4
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
20: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
21: iload 6
aload 5
arraylength
if_icmplt 12
end local 6 22: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 2
aload 3
aload 5
aload 4
aload 0
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.getPhiWriteNodes:(Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/TerminatingInstruction;)[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createSwitch:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[I[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 6
start local 6 23: aload 0
aload 6
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
24: 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 25 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 25 1 zwitch Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/SwitchOldInstruction;
1 25 2 cond Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
2 25 3 successors [I
3 7 4 i I
9 25 4 llvmType Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType;
10 25 5 cases [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
11 22 6 i I
23 25 6 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
MethodParameters:
Name Flags
zwitch
public void visit(com.oracle.truffle.llvm.parser.model.symbols.instructions.UnreachableInstruction);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/UnreachableInstruction;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createUnreachableNode:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 3 1 ui Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/UnreachableInstruction;
1 3 2 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
MethodParameters:
Name Flags
ui
public void handleNullerInfo();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tLLVMFrameNullerNodeGen cannot be resolved\n\tLLVMFrameNullerNodeGen cannot be resolved\n\tLLVMFrameNullerExpressionNodeGen 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/nodes/LLVMBitcodeInstructionVisitor;
private void addNode(com.oracle.truffle.llvm.runtime.nodes.api.LLVMNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.ValueInstruction);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
flags: (0x0002) ACC_PRIVATE
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.parser.nodes.LLVMBitcodeInstructionVisitor.instructionNodes:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.instructionTargets:Ljava/util/ArrayList;
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 3 1 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMNode;
0 3 2 target Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;
MethodParameters:
Name Flags
node
target
private void createFrameWrite(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.ValueInstruction);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ONLY_FIRST_STATEMENT_ON_LOCATION:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.createFrameWrite:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 2 1 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
0 2 2 source Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;
MethodParameters:
Name Flags
result
source
private void createFrameWrite(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.ValueInstruction, com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.assignSourceLocation:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMInstrumentableNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
1: aload 0
aload 1
aload 2
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.addNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
2: aload 0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.handleNullerInfo:()V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 4 1 result Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
0 4 2 source Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;
0 4 3 intention Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
MethodParameters:
Name Flags
result
source
intention
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createInlineAssemblerNode(com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder, com.oracle.truffle.llvm.runtime.types.Type);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/symbols/constants/InlineAsmConstant;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant.needsAlignedStack:()Z
ifeq 2
1: new com.oracle.truffle.llvm.runtime.except.LLVMParserException
dup
ldc "Assembly Expressions that require an aligned Stack are not supported yet!"
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMParserException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant.getDialect:()Lcom/oracle/truffle/llvm/parser/model/enums/AsmDialect;
getstatic com.oracle.truffle.llvm.parser.model.enums.AsmDialect.AT_T:Lcom/oracle/truffle/llvm/parser/model/enums/AsmDialect;
if_acmpeq 4
3: new com.oracle.truffle.llvm.runtime.except.LLVMParserException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported Assembly Dialect: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant.getDialect:()Lcom/oracle/truffle/llvm/parser/model/enums/AsmDialect;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMParserException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant.getAsmExpression:()Ljava/lang/String;
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.constants.InlineAsmConstant.getAsmFlags:()Ljava/lang/String;
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createInlineAssemblerExpression:(Ljava/lang/String;Ljava/lang/String;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
end local 4 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/parser/nodes/LLVMBitcodeInstructionVisitor;
0 5 1 inlineAsmConstant Lcom/oracle/truffle/llvm/parser/model/symbols/constants/InlineAsmConstant;
0 5 2 argNodes [Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
0 5 3 argsType Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;
0 5 4 retType Lcom/oracle/truffle/llvm/runtime/types/Type;
MethodParameters:
Name Flags
inlineAsmConstant
argNodes
argsType
retType
private com.oracle.truffle.api.frame.FrameSlot getExceptionSlot();
descriptor: ()Lcom/oracle/truffle/api/frame/FrameSlot;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.frame:Lcom/oracle/truffle/api/frame/FrameDescriptor;
ldc "<function exception value>"
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
private void addStatement(com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ONLY_FIRST_STATEMENT_ON_LOCATION:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.addStatement:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 2 1 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
0 2 2 instruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;
MethodParameters:
Name Flags
node
instruction
private void addStatement(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction, com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 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
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
MethodParameters:
Name Flags
node
instruction
intention
private void addStatement(com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction, com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.assignSourceLocation:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMInstrumentableNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
1: aload 0
aload 1
aconst_null
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.addNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/ValueInstruction;)V
2: aload 0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.handleNullerInfo:()V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 4 1 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
0 4 2 instruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;
0 4 3 intention Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
MethodParameters:
Name Flags
node
instruction
intention
private void setControlFlowNode(com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ONLY_FIRST_STATEMENT_ON_LOCATION:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.setControlFlowNode:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 2 1 controlFlowNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
0 2 2 sourceInstruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;
MethodParameters:
Name Flags
controlFlowNode
sourceInstruction
private void setControlFlowNode(com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction, com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.controlFlowNode:Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
ifnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.controlFlowNode:Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
2: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.assignSourceLocation:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMInstrumentableNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 4 1 controlFlowNode Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
0 4 2 sourceInstruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;
0 4 3 intention Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
MethodParameters:
Name Flags
controlFlowNode
sourceInstruction
intention
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode capsuleAddressByValue(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
checkcast com.oracle.truffle.llvm.runtime.types.PointerType
invokevirtual com.oracle.truffle.llvm.runtime.types.PointerType.getPointeeType:()Lcom/oracle/truffle/llvm/runtime/types/Type;
astore 4
start local 4 1: aload 4
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
invokevirtual com.oracle.truffle.llvm.runtime.types.Type.getSize:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)J
lstore 5
start local 5 2: aload 4
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.dataLayout:Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;
invokevirtual com.oracle.truffle.llvm.runtime.types.Type.getAlignment:(Lcom/oracle/truffle/llvm/runtime/datalayout/DataLayout;)I
istore 7
start local 7 3: aload 3
invokevirtual com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup.getAttributes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 7
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.types.Type com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup com.oracle.truffle.llvm.runtime.types.Type long int top java.util.Iterator
StackMap stack:
4: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.attributes.Attribute
astore 8
start local 8 5: aload 8
instanceof com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownIntegerValueAttribute
ifeq 7
aload 8
checkcast com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownIntegerValueAttribute
invokevirtual com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownIntegerValueAttribute.getAttr:()Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute$Kind;
getstatic com.oracle.truffle.llvm.parser.model.attributes.Attribute$Kind.ALIGN:Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute$Kind;
if_acmpne 7
6: aload 8
checkcast com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownIntegerValueAttribute
invokevirtual com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownIntegerValueAttribute.getValue:()I
istore 7
end local 8 7: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.nodeFactory:Lcom/oracle/truffle/llvm/runtime/NodeFactory;
lload 5
iload 7
aload 1
invokeinterface com.oracle.truffle.llvm.runtime.NodeFactory.createVarArgCompoundValue:(JILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
9: areturn
end local 7 end local 5 end local 4 10: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode com.oracle.truffle.llvm.runtime.types.Type com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup
StackMap stack: com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
astore 4
start local 4 11: aload 4
invokestatic com.oracle.truffle.llvm.runtime.types.Type.handleOverflowExpression:(Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 12 1 child Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
0 12 2 type Lcom/oracle/truffle/llvm/runtime/types/Type;
0 12 3 paramAttr Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
1 10 4 pointee Lcom/oracle/truffle/llvm/runtime/types/Type;
2 10 5 size J
3 10 7 alignment I
5 7 8 attr Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute;
11 12 4 e Lcom/oracle/truffle/llvm/runtime/types/Type$TypeOverflowException;
Exception table:
from to target type
0 9 10 Class com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
MethodParameters:
Name Flags
child
type
paramAttr
private static boolean isByValue(com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup.getAttributes:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: com.oracle.truffle.llvm.parser.model.attributes.AttributesGroup top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.model.attributes.Attribute
astore 1
start local 1 4: aload 1
instanceof com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownAttribute
ifeq 6
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 6
5: iconst_1
ireturn
end local 1 6: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 parameter Lcom/oracle/truffle/llvm/parser/model/attributes/AttributesGroup;
4 6 1 a Lcom/oracle/truffle/llvm/parser/model/attributes/Attribute;
MethodParameters:
Name Flags
parameter
private void assignSourceLocation(com.oracle.truffle.llvm.runtime.nodes.api.LLVMInstrumentableNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMInstrumentableNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ONLY_FIRST_STATEMENT_ON_LOCATION:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.assignSourceLocation:(Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMInstrumentableNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 2 1 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMInstrumentableNode;
0 2 2 sourceInstruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;
MethodParameters:
Name Flags
node
sourceInstruction
private void assignSourceLocation(com.oracle.truffle.llvm.runtime.nodes.api.LLVMInstrumentableNode, com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction, com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy);
descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMInstrumentableNode;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.Instruction.getSourceLocation:()Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: return
5: StackMap locals: com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation
StackMap stack:
aload 1
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.nodes.api.LLVMInstrumentableNode.setSourceLocation:(Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;)V
6: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$assertionsDisabled:Z
ifne 7
aload 3
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$SWITCH_TABLE$com$oracle$truffle$llvm$parser$nodes$LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy:()[I
aload 3
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 8
2: 11
3: 18
default: 19
}
8: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual com.oracle.truffle.llvm.runtime.nodes.api.LLVMInstrumentableNode.setHasStatementTag:(Z)V
9: aload 0
aload 4
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.lastLocation:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
10: goto 20
11: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.lastLocation:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
aload 4
if_acmpne 13
12: goto 20
13: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.lastLocation:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
ifnull 15
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.lastLocation:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
invokevirtual com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation.describeFile:()Ljava/lang/String;
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation.describeFile:()Ljava/lang/String;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 15
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.lastLocation:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
invokevirtual com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation.getLine:()I
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation.getLine:()I
if_icmpne 15
14: goto 20
15: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual com.oracle.truffle.llvm.runtime.nodes.api.LLVMInstrumentableNode.setHasStatementTag:(Z)V
16: aload 0
aload 4
putfield com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.lastLocation:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
17: goto 20
18: StackMap locals:
StackMap stack:
goto 20
19: StackMap locals:
StackMap stack:
new com.oracle.truffle.llvm.runtime.except.LLVMParserException
dup
new java.lang.StringBuilder
dup
ldc "Unknown instrumentation strategy: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.oracle.truffle.llvm.runtime.except.LLVMParserException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 21 1 node Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMInstrumentableNode;
0 21 2 sourceInstruction Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/Instruction;
0 21 3 instrumentationStrategy Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
3 21 4 location Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;
MethodParameters:
Name Flags
node
sourceInstruction
instrumentationStrategy
public void defaultAction(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.oracle.truffle.llvm.parser.model.SymbolImpl
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.defaultAction:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)V
return
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$com$oracle$truffle$llvm$parser$model$enums$ReadModifyWriteOperator();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$SWITCH_TABLE$com$oracle$truffle$llvm$parser$model$enums$ReadModifyWriteOperator:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.values:()[Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ADD:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.AND:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.FADD:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
bipush 12
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.FSUB:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
bipush 13
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.MAX:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
bipush 8
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.MIN:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
bipush 9
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.NAND:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.OR:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
bipush 6
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.SUB:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
iconst_3
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.UMAX:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
bipush 10
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.UMIN:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
bipush 11
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.XCHG:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
iconst_1
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.XOR:Lcom/oracle/truffle/llvm/parser/model/enums/ReadModifyWriteOperator;
invokevirtual com.oracle.truffle.llvm.parser.model.enums.ReadModifyWriteOperator.ordinal:()I
bipush 7
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
dup
putstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$SWITCH_TABLE$com$oracle$truffle$llvm$parser$model$enums$ReadModifyWriteOperator:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.values:()[Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.DOUBLE:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
bipush 8
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.F128:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
bipush 9
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.FLOAT:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
bipush 7
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.HALF:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
bipush 6
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.I1:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.I16:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
iconst_3
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.I32:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
iconst_4
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.I64:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
iconst_5
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.I8:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
iconst_2
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.PPC_FP128:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
bipush 11
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.X86_FP80:Lcom/oracle/truffle/llvm/runtime/types/PrimitiveType$PrimitiveKind;
invokevirtual com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$SWITCH_TABLE$com$oracle$truffle$llvm$runtime$types$PrimitiveType$PrimitiveKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$com$oracle$truffle$llvm$parser$nodes$LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$SWITCH_TABLE$com$oracle$truffle$llvm$parser$nodes$LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.values:()[Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.DISABLED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.FORCED:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ONLY_FIRST_STATEMENT_ON_LOCATION:Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy;
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.$SWITCH_TABLE$com$oracle$truffle$llvm$parser$nodes$LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
private com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode lambda$2(com.oracle.truffle.llvm.parser.model.SymbolImpl, int, com.oracle.truffle.llvm.parser.model.SymbolImpl, com.oracle.truffle.llvm.parser.model.SymbolImpl[]);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor.resolveOptimized:(Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;ILcom/oracle/truffle/llvm/parser/model/SymbolImpl;[Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMBitcodeInstructionVisitor;
0 1 1 arg0 Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
0 1 2 arg1 I
0 1 3 arg2 Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
0 1 4 arg3 [Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
}
SourceFile: "LLVMBitcodeInstructionVisitor.java"
NestMembers:
com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy
InnerClasses:
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
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 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 KnownIntegerValueAttribute = com.oracle.truffle.llvm.parser.model.attributes.Attribute$KnownIntegerValueAttribute of com.oracle.truffle.llvm.parser.model.attributes.Attribute
private final SourceInstrumentationStrategy = com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor$SourceInstrumentationStrategy of com.oracle.truffle.llvm.parser.nodes.LLVMBitcodeInstructionVisitor
final ClearLocalVariableParts = com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$ClearLocalVariableParts of com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation
final InitAggreateLocalVariable = com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$InitAggreateLocalVariable of com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation
abstract LocalVarDebugInfo = com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo of com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation
final SetLocalVariablePart = com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$SetLocalVariablePart of com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation
SimpleLocalVariable = com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$SimpleLocalVariable of com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation
public abstract OptimizedResolver = com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver$OptimizedResolver of com.oracle.truffle.llvm.parser.nodes.LLVMSymbolReadResolver
public final UniquesRegion = com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion of com.oracle.truffle.llvm.runtime.memory.LLVMStack
public final PrimitiveKind = com.oracle.truffle.llvm.runtime.types.PrimitiveType$PrimitiveKind of com.oracle.truffle.llvm.runtime.types.PrimitiveType
public TypeArrayBuilder = com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder of com.oracle.truffle.llvm.runtime.types.Type
public final TypeOverflowException = com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException of com.oracle.truffle.llvm.runtime.types.Type
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map