class CFGPrinter extends CompilationPrinter
| Modifier and Type | Field and Description | 
|---|---|
| protected ControlFlowGraph | cfg | 
| private NodeMap<Block> | latestScheduling | 
| protected LIR | lir | 
| protected ResolvedJavaMethod | method | 
| protected NodeLIRBuilder | nodeLirGenerator | 
| private NodeBitMap | printedNodes | 
| protected SchedulePhase | schedule | 
| protected TargetDescription | target | 
COLUMN_END, HOVER_END, HOVER_SEP, HOVER_START, out| Constructor and Description | 
|---|
| CFGPrinter(OutputStream out)Creates a control flow graph printer. | 
| Modifier and Type | Method and Description | 
|---|---|
| private String | blockToString(AbstractBlockBase<?> block) | 
| private boolean | inFixedSchedule(Node node) | 
| private String | nodeToString(Node node) | 
| private void | printBlock(AbstractBlockBase<?> block,
          boolean printNodes) | 
| private void | printBlock(BciBlockMapping.BciBlock block) | 
| private void | printBlockEpilog(AbstractBlockBase<?> block) | 
| private void | printBlockProlog(AbstractBlockBase<?> block) | 
| void | printCFG(String label,
        BciBlockMapping blockMap)Prints the control flow graph denoted by a given block map. | 
| void | printCFG(String label,
        List<? extends AbstractBlockBase<?>> blocks,
        boolean printNodes)Prints the specified list of blocks. | 
| private void | printInterval(Interval interval) | 
| void | printIntervals(String label,
              Interval[] intervals) | 
| private void | printLIR(AbstractBlockBase<?> block)Prints the LIR for each instruction in a given block. | 
| private void | printNamedNodes(Node node,
               NodePosIterator iter,
               String prefix,
               String suffix,
               String hideSuffix) | 
| private void | printNode(Node node,
         boolean unscheduled) | 
| private void | printNodes(Block block) | 
| void | printSchedule(String message,
             SchedulePhase theSchedule) | 
| private void | printScheduledBlock(Block block,
                   List<Node> nodesFor) | 
| private void | printStackInterval(StackInterval interval) | 
| void | printStackIntervals(String label,
                   StackInterval[] intervals) | 
| private void | schedule(Node input,
        Block block) | 
| private void | scheduleInputs(Node node,
              Block nodeBlock) | 
| private String | stateToString(FrameState state) | 
| private String | stateValueToString(ValueNode value) | 
begin, close, debugInfoToString, end, flush, globalOut, printBytecodes, printCompilation, printMachineCode, valueToStringprotected TargetDescription target
protected NodeLIRBuilder nodeLirGenerator
protected ControlFlowGraph cfg
protected SchedulePhase schedule
protected ResolvedJavaMethod method
private NodeMap<Block> latestScheduling
private NodeBitMap printedNodes
public CFGPrinter(OutputStream out)
out - where the output generated via this printer shown be writtenpublic void printCFG(String label, BciBlockMapping blockMap)
label - A label describing the compilation phase that produced the control flow graph.blockMap - A data structure describing the blocks in a method and how they are
            connected.private void printBlock(BciBlockMapping.BciBlock block)
private boolean inFixedSchedule(Node node)
public void printCFG(String label, List<? extends AbstractBlockBase<?>> blocks, boolean printNodes)
label - A label describing the compilation phase that produced the control flow graph.blocks - The list of blocks to be printed.private void scheduleInputs(Node node, Block nodeBlock)
private void printBlock(AbstractBlockBase<?> block, boolean printNodes)
private void printBlockEpilog(AbstractBlockBase<?> block)
private void printBlockProlog(AbstractBlockBase<?> block)
private void printNodes(Block block)
private void printNamedNodes(Node node, NodePosIterator iter, String prefix, String suffix, String hideSuffix)
private String stateToString(FrameState state)
private String stateValueToString(ValueNode value)
private void printLIR(AbstractBlockBase<?> block)
block - the block to printprivate String nodeToString(Node node)
private String blockToString(AbstractBlockBase<?> block)
public void printIntervals(String label, Interval[] intervals)
private void printInterval(Interval interval)
public void printStackIntervals(String label, StackInterval[] intervals)
private void printStackInterval(StackInterval interval)
public void printSchedule(String message, SchedulePhase theSchedule)
private void printScheduledBlock(Block block, List<Node> nodesFor)