Mercurial > hg > graal-compiler
changeset 19333:ae87324c37d6
Do not extend AbstractBlockBase with BciBlock.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Thu, 12 Feb 2015 21:37:38 +0100 |
parents | 833d0361c3e2 |
children | 0e4449e992c6 |
files | graal/com.oracle.graal.java/src/com/oracle/graal/java/AbstractBytecodeParser.java graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java |
diffstat | 2 files changed, 23 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/AbstractBytecodeParser.java Thu Feb 12 21:27:06 2015 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/AbstractBytecodeParser.java Thu Feb 12 21:37:38 2015 +0100 @@ -842,9 +842,9 @@ Map<Integer, SuccessorInfo> bciToBlockSuccessorIndex = new HashMap<>(); for (int i = 0; i < currentBlock.getSuccessorCount(); i++) { - assert !bciToBlockSuccessorIndex.containsKey(currentBlock.getSuccessors().get(i).startBci); - if (!bciToBlockSuccessorIndex.containsKey(currentBlock.getSuccessors().get(i).startBci)) { - bciToBlockSuccessorIndex.put(currentBlock.getSuccessors().get(i).startBci, new SuccessorInfo(i)); + assert !bciToBlockSuccessorIndex.containsKey(currentBlock.getSuccessor(i).startBci); + if (!bciToBlockSuccessorIndex.containsKey(currentBlock.getSuccessor(i).startBci)) { + bciToBlockSuccessorIndex.put(currentBlock.getSuccessor(i).startBci, new SuccessorInfo(i)); } } @@ -869,7 +869,7 @@ SuccessorInfo info = bciToBlockSuccessorIndex.get(targetBci); if (info.actualIndex < 0) { info.actualIndex = nextSuccessorIndex++; - actualSuccessors.add(currentBlock.getSuccessors().get(info.blockIndex)); + actualSuccessors.add(currentBlock.getSuccessor(info.blockIndex)); } keySuccessors[i] = info.actualIndex; }
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java Thu Feb 12 21:27:06 2015 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/BciBlockMapping.java Thu Feb 12 21:37:38 2015 +0100 @@ -31,7 +31,6 @@ import com.oracle.graal.api.meta.*; import com.oracle.graal.bytecode.*; import com.oracle.graal.compiler.common.*; -import com.oracle.graal.compiler.common.cfg.*; import com.oracle.graal.debug.*; import com.oracle.graal.debug.Debug.Scope; import com.oracle.graal.nodes.*; @@ -75,20 +74,16 @@ */ public final class BciBlockMapping { - public static class BciBlock extends AbstractBlockBase<BciBlock> implements Cloneable { + public static class BciBlock implements Cloneable { + protected int id; public int startBci; public int endBci; public boolean isExceptionEntry; public boolean isLoopHeader; public int loopId; public int loopEnd; - - /** - * XXX to be removed - currently only used by baseline compiler. - */ - public Loop<BciBlock> loop; - public boolean isLoopEnd; + protected List<BciBlock> successors; private FixedWithNextNode firstInstruction; private AbstractFrameStateBuilder<?, ?> entryState; @@ -128,6 +123,10 @@ return null; } + public int getId() { + return id; + } + public int numNormalSuccessors() { if (exceptionDispatchBlock() != null) { return successors.size() - 1; @@ -165,14 +164,6 @@ return sb.toString(); } - public Loop<BciBlock> getLoop() { - return loop; - } - - public void setLoop(Loop<BciBlock> loop) { - this.loop = loop; - } - public int getLoopDepth() { return Long.bitCount(loops); } @@ -181,10 +172,6 @@ return isLoopHeader; } - public boolean isLoopEnd() { - return isLoopEnd; - } - public boolean isExceptionEntry() { return isExceptionEntry; } @@ -392,6 +379,18 @@ entryStateArray[dimension - 1] = entryState; } } + + public int getSuccessorCount() { + return successors.size(); + } + + public List<BciBlock> getSuccessors() { + return successors; + } + + public void setId(int i) { + this.id = i; + } } public static class ExceptionDispatchBlock extends BciBlock { @@ -976,7 +975,6 @@ loops |= computeBlockOrder(successor); if (successor.active) { // Reached block via backward branch. - block.isLoopEnd = true; loops |= (1L << successor.loopId); } }