class com.oracle.truffle.llvm.parser.LLVMPhiManager$LLVMPhiManagerFunctionVisitor implements com.oracle.truffle.llvm.parser.model.visitors.FunctionVisitor, com.oracle.truffle.llvm.parser.model.visitors.InstructionVisitorAdapter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.llvm.parser.LLVMPhiManager$LLVMPhiManagerFunctionVisitor
super_class: java.lang.Object
{
private static final java.util.function.Function<com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock, java.util.List<com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi>> PRODUCER;
descriptor: Ljava/util/function/Function;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Function<Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;>;
private final java.util.Map<com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock, java.util.List<com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi>> phiMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;>;
private com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock currentBlock;
descriptor: Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/llvm/parser/LLVMPhiManager$LLVMPhiManagerFunctionVisitor.lambda$0(Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;)Ljava/util/List; (6)
(Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;)Ljava/util/List;
putstatic com.oracle.truffle.llvm.parser.LLVMPhiManager$LLVMPhiManagerFunctionVisitor.PRODUCER:Ljava/util/function/Function;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.util.Map<com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock, java.util.List<com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi>>);
descriptor: (Ljava/util/Map;)V
flags: (0x0000)
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
aconst_null
putfield com.oracle.truffle.llvm.parser.LLVMPhiManager$LLVMPhiManagerFunctionVisitor.currentBlock:Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
2: aload 0
aload 1
putfield com.oracle.truffle.llvm.parser.LLVMPhiManager$LLVMPhiManagerFunctionVisitor.phiMap:Ljava/util/Map;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$LLVMPhiManagerFunctionVisitor;
0 4 1 phiMap Ljava/util/Map<Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;>;
Signature: (Ljava/util/Map<Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;>;)V
MethodParameters:
Name Flags
phiMap
public void visit(com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;)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.LLVMPhiManager$LLVMPhiManagerFunctionVisitor.currentBlock:Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
1: aload 1
aload 0
invokevirtual com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock.accept:(Lcom/oracle/truffle/llvm/parser/model/visitors/SymbolVisitor;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$LLVMPhiManagerFunctionVisitor;
0 3 1 block Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
MethodParameters:
Name Flags
block
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=7, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.PhiInstruction.getBlock:(I)Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
astore 3
start local 3 3: aload 0
getfield com.oracle.truffle.llvm.parser.LLVMPhiManager$LLVMPhiManagerFunctionVisitor.phiMap:Ljava/util/Map;
aload 3
getstatic com.oracle.truffle.llvm.parser.LLVMPhiManager$LLVMPhiManagerFunctionVisitor.PRODUCER:Ljava/util/function/Function;
invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast java.util.List
astore 4
start local 4 4: aload 4
new com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi
dup
aload 0
getfield com.oracle.truffle.llvm.parser.LLVMPhiManager$LLVMPhiManagerFunctionVisitor.currentBlock:Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
aload 1
aload 1
iload 2
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.PhiInstruction.getValue:(I)Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;
invokespecial com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi.<init>:(Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;Lcom/oracle/truffle/llvm/parser/model/SymbolImpl;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 5: iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 1
invokevirtual com.oracle.truffle.llvm.parser.model.symbols.instructions.PhiInstruction.getSize:()I
if_icmplt 2
end local 2 7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$LLVMPhiManagerFunctionVisitor;
0 8 1 phi Lcom/oracle/truffle/llvm/parser/model/symbols/instructions/PhiInstruction;
1 7 2 i I
3 5 3 blk Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
4 5 4 references Ljava/util/List<Lcom/oracle/truffle/llvm/parser/LLVMPhiManager$Phi;>;
MethodParameters:
Name Flags
phi
private static java.util.List lambda$0(com.oracle.truffle.llvm.parser.model.blocks.InstructionBlock);
descriptor: (Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;)Ljava/util/List;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 block Lcom/oracle/truffle/llvm/parser/model/blocks/InstructionBlock;
}
SourceFile: "LLVMPhiManager.java"
NestHost: com.oracle.truffle.llvm.parser.LLVMPhiManager
InnerClasses:
private LLVMPhiManagerFunctionVisitor = com.oracle.truffle.llvm.parser.LLVMPhiManager$LLVMPhiManagerFunctionVisitor of com.oracle.truffle.llvm.parser.LLVMPhiManager
public final Phi = com.oracle.truffle.llvm.parser.LLVMPhiManager$Phi of com.oracle.truffle.llvm.parser.LLVMPhiManager
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles