Mercurial > hg > truffle
changeset 15538:9398d53c15b4
Add BaselineControlFlowGraph.compute() factory.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Mon, 28 Apr 2014 16:48:36 +0200 |
parents | 8117e9cadb48 |
children | c2f4d7dd944d |
files | graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineControlFlowGraph.java |
diffstat | 2 files changed, 8 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java Thu Apr 24 14:00:07 2014 +0200 +++ b/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineBytecodeParser.java Mon Apr 28 16:48:36 2014 +0200 @@ -120,7 +120,7 @@ // add loops ? how do we add looks when we haven't parsed the bytecode? // create the control flow graph - BaselineControlFlowGraph cfg = new BaselineControlFlowGraph(blockMap); + BaselineControlFlowGraph cfg = BaselineControlFlowGraph.compute(blockMap); // create the LIR List<? extends AbstractBlock<?>> linearScanOrder = ComputeBlockOrder.computeLinearScanOrder(blockMap.blocks.size(), blockMap.startBlock);
--- a/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineControlFlowGraph.java Thu Apr 24 14:00:07 2014 +0200 +++ b/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineControlFlowGraph.java Mon Apr 28 16:48:36 2014 +0200 @@ -35,10 +35,15 @@ private Collection<Loop<BciBlock>> loops; private BitSet visited; - public BaselineControlFlowGraph(BciBlockMapping blockMap) { + public static BaselineControlFlowGraph compute(BciBlockMapping blockMap) { + BaselineControlFlowGraph cfg = new BaselineControlFlowGraph(blockMap); + cfg.computeLoopInformation(); + return cfg; + } + + private BaselineControlFlowGraph(BciBlockMapping blockMap) { blocks = blockMap.blocks; loops = new ArrayList<>(); - computeLoopInformation(); } public List<BciBlock> getBlocks() {