public final class com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation implements com.oracle.truffle.llvm.runtime.types.symbols.LocalVariableDebugInfo
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation
super_class: java.lang.Object
{
private final com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo[][] infos;
descriptor: [[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.util.ArrayList<java.lang.Integer>[] predecessors;
descriptor: [Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: [Ljava/util/ArrayList<Ljava/lang/Integer;>;
private com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] blocks;
descriptor: [Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<java.util.HashMap<com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol, java.util.List<com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo>>> blockEntryDebugInfo;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
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.LLVMRuntimeDebugInformation.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
anewarray com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo[]
putfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.infos:[[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
0 3 1 blockCount I
MethodParameters:
Name Flags
blockCount
public void setBlockDebugInfo(int, com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo[]);
descriptor: (I[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.infos:[[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
iload 1
aaload
ifnull 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.LLVMRuntimeDebugInformation.infos:[[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
iload 1
aload 2
aastore
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/LLVMRuntimeDebugInformation;
0 3 1 blockIndex I
0 3 2 debugInfo [Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
MethodParameters:
Name Flags
blockIndex
debugInfo
public void setBlocks(com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[]);
descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.blocks:[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
0 2 1 blocks [Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
MethodParameters:
Name Flags
blocks
public java.util.Map<com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol, java.lang.Object> getLocalVariables(com.oracle.truffle.api.frame.Frame, com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
astore 3
start local 3 1: goto 13
2: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
instanceof com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode
ifeq 12
3: aload 3
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 9
6: StackMap locals: com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode int
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.getStatements:()[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
iload 5
aaload
aload 3
if_acmpne 8
7: aload 0
aload 1
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.getBlockId:()I
iload 5
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.getLocalVariablesForIndex:(Lcom/oracle/truffle/api/frame/Frame;II)Ljava/util/Map;
areturn
8: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.getStatements:()[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
arraylength
if_icmplt 6
end local 5 10: getstatic com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.$assertionsDisabled:Z
ifne 11
aload 3
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.getTerminatingInstruction:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
if_acmpeq 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.getBlockId:()I
ldc 2147483647
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.getLocalVariablesForIndex:(Lcom/oracle/truffle/api/frame/Frame;II)Ljava/util/Map;
areturn
end local 4 12: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
astore 3
13: StackMap locals:
StackMap stack:
aload 3
ifnonnull 2
14: aload 0
aload 1
iconst_0
iconst_0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.getLocalVariablesForIndex:(Lcom/oracle/truffle/api/frame/Frame;II)Ljava/util/Map;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
0 15 1 frame Lcom/oracle/truffle/api/frame/Frame;
0 15 2 node Lcom/oracle/truffle/api/nodes/Node;
1 15 3 current Lcom/oracle/truffle/api/nodes/Node;
4 12 4 block Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
5 10 5 i I
Signature: (Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Map<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/lang/Object;>;
MethodParameters:
Name Flags
frame
node
private java.util.HashMap<com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol, java.util.List<com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo>> applyBlockInfo(java.util.HashMap<com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol, java.util.List<com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo>>, int, int);
descriptor: (Ljava/util/HashMap;II)Ljava/util/HashMap;
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: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 1: aload 1
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 4
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation java.util.HashMap int int java.util.HashMap top java.util.Iterator
StackMap stack:
2: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 5
start local 5 3: aload 4
aload 5
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol
new java.util.ArrayList
dup
aload 5
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Collection
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 4: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.infos:[[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
iload 2
aaload
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 18
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation java.util.HashMap int int java.util.HashMap top int int com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo[]
StackMap stack:
6: aload 8
iload 6
aaload
astore 5
start local 5 7: aload 5
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo.instructionIndex:I
iload 3
if_icmple 9
8: goto 19
9: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation java.util.HashMap int int java.util.HashMap com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo int int com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo[]
StackMap stack:
aload 5
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo.isInitialize:()Z
ifeq 13
10: aload 4
aload 5
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo.variable:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
dup
astore 9
start local 9 11: invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: goto 16
end local 9 13: StackMap locals:
StackMap stack:
aload 4
aload 5
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo.variable:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 9
start local 9 14: aload 9
ifnonnull 16
15: aload 4
aload 5
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo.variable:Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
dup
astore 9
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: StackMap locals: java.util.List
StackMap stack:
aload 9
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 5 17: iinc 6 1
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation java.util.HashMap int int java.util.HashMap top int int com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo[]
StackMap stack:
18: iload 6
iload 7
if_icmplt 6
19: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation java.util.HashMap int int java.util.HashMap
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
0 20 1 blockEntryState Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
0 20 2 blockId I
0 20 3 end I
1 20 4 result Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
3 4 5 entry Ljava/util/Map$Entry<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
7 17 5 info Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
11 13 9 list Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;
14 17 9 list Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;
Signature: (Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;II)Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
MethodParameters:
Name Flags
blockEntryState
blockId
end
private java.util.Map<com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol, java.lang.Object> getLocalVariablesForIndex(com.oracle.truffle.api.frame.Frame, int, int);
descriptor: (Lcom/oracle/truffle/api/frame/Frame;II)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.initializePredecessors:()V
1: aload 0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.initializeDebugInfo:()V
2: aload 0
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.blockEntryDebugInfo:Ljava/util/ArrayList;
iload 2
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.util.HashMap
iload 2
iload 3
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.applyBlockInfo:(Ljava/util/HashMap;II)Ljava/util/HashMap;
astore 4
start local 4 3: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 4: aload 4
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 12
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation com.oracle.truffle.api.frame.Frame int int java.util.HashMap java.util.HashMap top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 6: aconst_null
astore 8
start local 8 7: aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 10
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation com.oracle.truffle.api.frame.Frame int int java.util.HashMap java.util.HashMap java.util.Map$Entry java.util.Iterator com.oracle.truffle.llvm.runtime.debug.value.LLVMDebugObjectBuilder top java.util.Iterator
StackMap stack:
8: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo
astore 9
start local 9 9: aload 9
aload 8
aload 1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo.process:(Lcom/oracle/truffle/llvm/runtime/debug/value/LLVMDebugObjectBuilder;Lcom/oracle/truffle/api/frame/Frame;)Lcom/oracle/truffle/llvm/runtime/debug/value/LLVMDebugObjectBuilder;
astore 8
end local 9 10: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
11: aload 5
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol
aload 8
aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol
invokevirtual com.oracle.truffle.llvm.runtime.debug.value.LLVMDebugObjectBuilder.getValue:(Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;)Lcom/oracle/truffle/llvm/runtime/debug/value/LLVMDebugObject;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 6 12: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation com.oracle.truffle.api.frame.Frame int int java.util.HashMap java.util.HashMap top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
13: aload 5
areturn
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/LLVMRuntimeDebugInformation;
0 14 1 frame Lcom/oracle/truffle/api/frame/Frame;
0 14 2 blockId I
0 14 3 index I
3 14 4 info Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
4 14 5 values Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/lang/Object;>;
6 12 6 entry Ljava/util/Map$Entry<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
7 12 8 builder Lcom/oracle/truffle/llvm/runtime/debug/value/LLVMDebugObjectBuilder;
9 10 9 di Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
Signature: (Lcom/oracle/truffle/api/frame/Frame;II)Ljava/util/Map<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/lang/Object;>;
MethodParameters:
Name Flags
frame
blockId
index
private void initializePredecessors();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.predecessors:[Ljava/util/ArrayList;
ifnonnull 18
1: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.infos:[[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
arraylength
anewarray java.util.ArrayList
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: java.util.ArrayList[] int
StackMap stack:
aload 1
iload 2
new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
aastore
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.infos:[[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
arraylength
if_icmplt 4
end local 2 7: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.blocks:[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 16
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation java.util.ArrayList[] top int int com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[]
StackMap stack:
8: aload 5
iload 3
aaload
astore 2
start local 2 9: aload 2
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.getTerminatingInstruction:()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
invokevirtual com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode.getSuccessors:()[I
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 14
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation java.util.ArrayList[] com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode int int com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[] top int int int[]
StackMap stack:
10: aload 9
iload 7
iaload
istore 6
start local 6 11: iload 6
iflt 13
12: aload 1
iload 6
aaload
aload 2
invokevirtual com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode.getBlockId:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 6 13: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iload 8
if_icmplt 10
end local 2 15: iinc 3 1
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation java.util.ArrayList[] top int int com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[]
StackMap stack:
16: iload 3
iload 4
if_icmplt 8
17: aload 0
aload 1
putfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.predecessors:[Ljava/util/ArrayList;
end local 1 18: StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
2 18 1 result [Ljava/util/ArrayList;
3 7 2 i I
9 15 2 b Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;
11 13 6 successor I
private void initializeDebugInfo();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.blockEntryDebugInfo:Ljava/util/ArrayList;
ifnonnull 22
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 6
4: StackMap locals: java.util.ArrayList int
StackMap stack:
aload 1
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.infos:[[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
arraylength
if_icmplt 4
end local 2 7: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 8: iconst_0
istore 3
start local 3 9: goto 12
10: StackMap locals: int int
StackMap stack:
iload 2
aload 0
iload 3
aload 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.predecessors:[Ljava/util/ArrayList;
iload 3
aaload
iconst_1
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.merge:(ILjava/util/List;Ljava/util/ArrayList;Z)Z
ior
istore 2
11: iinc 3 1
StackMap locals:
StackMap stack:
12: iload 3
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.infos:[[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
arraylength
if_icmplt 10
end local 3 13: iload 2
ifne 7
14: StackMap locals:
StackMap stack:
iconst_0
istore 2
15: iconst_0
istore 3
start local 3 16: goto 19
17: StackMap locals: int
StackMap stack:
iload 2
aload 0
iload 3
aload 1
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.predecessors:[Ljava/util/ArrayList;
iload 3
aaload
iconst_0
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.merge:(ILjava/util/List;Ljava/util/ArrayList;Z)Z
ior
istore 2
18: iinc 3 1
StackMap locals:
StackMap stack:
19: iload 3
aload 0
getfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.infos:[[Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;
arraylength
if_icmplt 17
end local 3 20: iload 2
ifne 14
21: aload 0
aload 1
putfield com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.blockEntryDebugInfo:Ljava/util/ArrayList;
end local 2 end local 1 22: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
2 22 1 result Ljava/util/ArrayList<Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;>;
3 7 2 i I
8 22 2 changed Z
9 13 3 i I
16 20 3 i I
private boolean merge(int, java.util.List<java.util.HashMap<com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol, java.util.List<com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo>>>, java.util.ArrayList<java.lang.Integer>, );
descriptor: (ILjava/util/List;Ljava/util/ArrayList;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.HashMap
aload 3
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ldc 2147483647
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.applyBlockInfo:(Ljava/util/HashMap;II)Ljava/util/HashMap;
astore 5
start local 5 3: iconst_1
istore 6
start local 6 4: goto 17
5: StackMap locals: java.util.HashMap int
StackMap stack:
aload 0
aload 2
aload 3
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.HashMap
aload 3
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ldc 2147483647
invokevirtual com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation.applyBlockInfo:(Ljava/util/HashMap;II)Ljava/util/HashMap;
astore 7
start local 7 6: aload 7
invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
start local 8 7: goto 15
8: StackMap locals: java.util.HashMap java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 9
start local 9 9: iload 4
ifeq 13
10: aload 5
aload 9
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
ifne 15
11: aload 5
aload 9
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceSymbol
aload 9
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: goto 15
13: StackMap locals: java.util.Map$Entry
StackMap stack:
aload 7
aload 9
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 9
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 15
14: aload 8
invokeinterface java.util.Iterator.remove:()V
end local 9 15: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 8 end local 7 16: iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
aload 3
invokevirtual java.util.ArrayList.size:()I
if_icmplt 5
end local 6 18: aload 2
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.HashMap
astore 6
start local 6 19: aload 2
iload 1
aload 5
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
20: aload 6
aload 5
invokevirtual java.util.HashMap.equals:(Ljava/lang/Object;)Z
ifeq 21
iconst_0
goto 22
StackMap locals: com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation int java.util.List java.util.ArrayList int java.util.HashMap java.util.HashMap
StackMap stack:
21: iconst_1
StackMap locals:
StackMap stack: int
22: ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation;
0 23 1 blockId I
0 23 2 entryDebugInfo Ljava/util/List<Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;>;
0 23 3 preds Ljava/util/ArrayList<Ljava/lang/Integer;>;
0 23 4 propagate Z
3 23 5 result Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
4 18 6 i I
6 16 7 variables Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
7 16 8 iterator Ljava/util/Iterator<Ljava/util/Map$Entry<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;>;
9 15 9 existing Ljava/util/Map$Entry<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
19 23 6 old Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;
Signature: (ILjava/util/List<Ljava/util/HashMap<Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceSymbol;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/nodes/LLVMRuntimeDebugInformation$LocalVarDebugInfo;>;>;>;Ljava/util/ArrayList<Ljava/lang/Integer;>;Z)Z
MethodParameters:
Name Flags
blockId
entryDebugInfo
preds
propagate
}
SourceFile: "LLVMRuntimeDebugInformation.java"
NestMembers:
com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$ClearLocalVariableParts com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$InitAggreateLocalVariable com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$LocalVarDebugInfo com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$SetLocalVariablePart com.oracle.truffle.llvm.parser.nodes.LLVMRuntimeDebugInformation$SimpleLocalVariable
InnerClasses:
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 Entry = java.util.Map$Entry of java.util.Map