# HG changeset patch # User Josef Eisl # Date 1399281019 -7200 # Node ID 4bd6ad45ee0a221eb06801f4a090370c2ea9802e # Parent d6c80b8b414f9b7caeb7f357e142bb3d5064f4f6 Encapsulate members of Loop. diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/ComputeBlockOrder.java --- a/graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/ComputeBlockOrder.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.alloc/src/com/oracle/graal/alloc/ComputeBlockOrder.java Mon May 05 11:10:19 2014 +0200 @@ -166,16 +166,16 @@ } Loop loop = block.getLoop(); - if (block.isLoopEnd() && skipLoopHeader(loop.header)) { + if (block.isLoopEnd() && skipLoopHeader(loop.getHeader())) { // This is the only loop end of a skipped loop header. // Add the header immediately afterwards. - addBlock(loop.header, order); + addBlock(loop.getHeader(), order); // Make sure the loop successors of the loop header are aligned // as they are the target // of the backward jump. - for (T successor : loop.header.getSuccessors()) { + for (T successor : loop.getHeader().getSuccessors()) { if (successor.getLoopDepth() == block.getLoopDepth()) { successor.setAlign(true); } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineControlFlowGraph.java --- a/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineControlFlowGraph.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.baseline/src/com/oracle/graal/baseline/BaselineControlFlowGraph.java Mon May 05 11:10:19 2014 +0200 @@ -78,7 +78,7 @@ } block.loop = stack.peek(); if (block.isLoopHeader()) { - assert block.loop.header.equals(block); + assert block.loop.getHeader().equals(block); stack.pop(); } for (BciBlock pred : block.getPredecessors()) { diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/cfg/Loop.java --- a/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/cfg/Loop.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.compiler.common/src/com/oracle/graal/compiler/common/cfg/Loop.java Mon May 05 11:10:19 2014 +0200 @@ -27,20 +27,20 @@ public abstract class Loop> { - public final Loop parent; - public final List> children; + private final Loop parent; + private final List> children; - public final int depth; - public final int index; - public final T header; - public final List blocks; - public final List exits; + private final int depth; + private final int index; + private final T header; + private final List blocks; + private final List exits; protected Loop(Loop parent, int index, T header) { this.parent = parent; if (parent != null) { - this.depth = parent.depth + 1; - parent.children.add(this); + this.depth = parent.getDepth() + 1; + parent.getChildren().add(this); } else { this.depth = 1; } @@ -55,6 +55,34 @@ @Override public String toString() { - return "loop " + index + " depth " + depth + (parent != null ? " outer " + parent.index : ""); + return "loop " + index + " depth " + getDepth() + (parent != null ? " outer " + parent.index : ""); + } + + public Loop getParent() { + return parent; + } + + public List> getChildren() { + return children; + } + + public int getDepth() { + return depth; + } + + public int getIndex() { + return index; + } + + public T getHeader() { + return header; + } + + public List getBlocks() { + return blocks; + } + + public List getExits() { + return exits; } } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NestedLoopTest.java --- a/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NestedLoopTest.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.compiler.test/src/com/oracle/graal/compiler/test/NestedLoopTest.java Mon May 05 11:10:19 2014 +0200 @@ -163,20 +163,20 @@ Assert.assertTrue(containsDirect(innerMostLoop, d, cfg)); Assert.assertTrue(contains(rootLoop, d, cfg)); Assert.assertTrue(contains(nestedLoop, d, cfg)); - Assert.assertEquals(rootExits, rootLoop.exits.size()); - Assert.assertEquals(nestedExits, nestedLoop.exits.size()); - Assert.assertEquals(innerExits, innerMostLoop.exits.size()); + Assert.assertEquals(rootExits, rootLoop.getExits().size()); + Assert.assertEquals(nestedExits, nestedLoop.getExits().size()); + Assert.assertEquals(innerExits, innerMostLoop.getExits().size()); Debug.dump(graph, "Graph"); } private static boolean contains(Loop loop, Invoke node, ControlFlowGraph cfg) { Block block = cfg.blockFor((Node) node); Assert.assertNotNull(block); - return loop.blocks.contains(block); + return loop.getBlocks().contains(block); } private static boolean containsDirect(Loop loop, Invoke node, ControlFlowGraph cfg) { - for (Loop child : loop.children) { + for (Loop child : loop.getChildren()) { if (contains(child, node, cfg)) { return false; } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java --- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/alloc/LinearScan.java Mon May 05 11:10:19 2014 +0200 @@ -702,7 +702,7 @@ Debug.log("liveGen for operand %d", operandNum); } if (block.getLoop() != null) { - intervalInLoop.setBit(operandNum, block.getLoop().index); + intervalInLoop.setBit(operandNum, block.getLoop().getIndex()); } } @@ -733,7 +733,7 @@ liveKill.set(varNum); Debug.log("liveKill for operand %d", varNum); if (block.getLoop() != null) { - intervalInLoop.setBit(varNum, block.getLoop().index); + intervalInLoop.setBit(varNum, block.getLoop().getIndex()); } } @@ -1185,7 +1185,7 @@ // interval is used anywhere inside this loop. It's possible // that the block was part of a non-natural loop, so it might // have an invalid loop index. - if (block.isLoopEnd() && block.getLoop() != null && isIntervalInLoop(operandNum, block.getLoop().index)) { + if (block.isLoopEnd() && block.getLoop() != null && isIntervalInLoop(operandNum, block.getLoop().getIndex())) { intervalFor(operand).addUsePos(blockTo + 1, RegisterPriority.LiveAtLoopEnd); } } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.java.decompiler/src/com/oracle/graal/java/decompiler/DecompilerLoopSimplify.java --- a/graal/com.oracle.graal.java.decompiler/src/com/oracle/graal/java/decompiler/DecompilerLoopSimplify.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.java.decompiler/src/com/oracle/graal/java/decompiler/DecompilerLoopSimplify.java Mon May 05 11:10:19 2014 +0200 @@ -50,18 +50,18 @@ Loop loop = firstBlock.getLoop(); for (int i = 0; i < cfgBlocks.size(); i++) { - if (loop.blocks.contains(cfgBlocks.get(i)) && cfgBlocks.get(i) != firstBlock) { + if (loop.getBlocks().contains(cfgBlocks.get(i)) && cfgBlocks.get(i) != firstBlock) { loopBlock.addBodyBlock(cfgBlocks.get(i)); } } // Asserting: for (Block b : loopBlock.getBody()) { - if (!loop.blocks.contains(b)) { + if (!loop.getBlocks().contains(b)) { throw new AssertionError(); } } - for (Block b : loop.blocks) { + for (Block b : loop.getBlocks()) { if (b != firstBlock && !loopBlock.getBody().contains(b)) { throw new AssertionError(); } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.java.decompiler/src/com/oracle/graal/java/decompiler/block/DecompilerLoopBlock.java --- a/graal/com.oracle.graal.java.decompiler/src/com/oracle/graal/java/decompiler/block/DecompilerLoopBlock.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.java.decompiler/src/com/oracle/graal/java/decompiler/block/DecompilerLoopBlock.java Mon May 05 11:10:19 2014 +0200 @@ -82,7 +82,7 @@ @Override public int getSuccessorCount() { - return block.getLoop().exits.size(); + return block.getLoop().getExits().size(); } @Override diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopEx.java --- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopEx.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopEx.java Mon May 05 11:10:19 2014 +0200 @@ -91,7 +91,7 @@ } public LoopBeginNode loopBegin() { - return (LoopBeginNode) lirLoop().header.getBeginNode(); + return (LoopBeginNode) lirLoop().getHeader().getBeginNode(); } public FixedNode predecessor() { @@ -111,10 +111,10 @@ } public LoopEx parent() { - if (lirLoop.parent == null) { + if (lirLoop.getParent() == null) { return null; } - return data.loop(lirLoop.parent); + return data.loop(lirLoop.getParent()); } public int size() { @@ -123,7 +123,7 @@ @Override public String toString() { - return (isCounted() ? "CountedLoop [" + counted() + "] " : "Loop ") + "(depth=" + lirLoop().depth + ") " + loopBegin(); + return (isCounted() ? "CountedLoop [" + counted() + "] " : "Loop ") + "(depth=" + lirLoop().getDepth() + ") " + loopBegin(); } private class InvariantPredicate implements NodePredicate { @@ -237,9 +237,9 @@ if (b == untilBlock) { continue; } - if (lirLoop().exits.contains(b)) { + if (lirLoop().getExits().contains(b)) { exits.add((LoopExitNode) b.getBeginNode()); - } else if (lirLoop().blocks.contains(b)) { + } else if (lirLoop().getBlocks().contains(b)) { blocks.add(b.getBeginNode()); work.addAll(b.getDominated()); } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java --- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragment.java Mon May 05 11:10:19 2014 +0200 @@ -302,7 +302,7 @@ protected void mergeEarlyExits() { assert isDuplicate(); StructuredGraph graph = graph(); - for (BeginNode earlyExit : LoopFragment.toHirBlocks(original().loop().lirLoop().exits)) { + for (BeginNode earlyExit : LoopFragment.toHirBlocks(original().loop().lirLoop().getExits())) { LoopExitNode loopEarlyExit = (LoopExitNode) earlyExit; FixedNode next = loopEarlyExit.next(); if (loopEarlyExit.isDeleted() || !this.original().contains(loopEarlyExit)) { diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentWhole.java --- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentWhole.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopFragmentWhole.java Mon May 05 11:10:19 2014 +0200 @@ -58,7 +58,7 @@ public NodeIterable nodes() { if (nodes == null) { Loop lirLoop = loop().lirLoop(); - nodes = LoopFragment.computeNodes(graph(), LoopFragment.toHirBlocks(lirLoop.blocks), LoopFragment.toHirExits(lirLoop.exits)); + nodes = LoopFragment.computeNodes(graph(), LoopFragment.toHirBlocks(lirLoop.getBlocks()), LoopFragment.toHirExits(lirLoop.getExits())); } return nodes; } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopsData.java --- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopsData.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/LoopsData.java Mon May 05 11:10:19 2014 +0200 @@ -68,7 +68,7 @@ @Override public int compare(LoopEx o1, LoopEx o2) { - return o1.lirLoop().depth - o2.lirLoop().depth; + return o1.lirLoop().getDepth() - o2.lirLoop().getDepth(); } }); return loops; @@ -80,7 +80,7 @@ @Override public int compare(LoopEx o1, LoopEx o2) { - return o2.lirLoop().depth - o1.lirLoop().depth; + return o2.lirLoop().getDepth() - o1.lirLoop().getDepth(); } }); return loops; diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.loop/src/com/oracle/graal/loop/phases/LoopSafepointEliminationPhase.java --- a/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/phases/LoopSafepointEliminationPhase.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.loop/src/com/oracle/graal/loop/phases/LoopSafepointEliminationPhase.java Mon May 05 11:10:19 2014 +0200 @@ -37,7 +37,7 @@ if (context.getOptimisticOptimizations().useLoopLimitChecks()) { loops.detectedCountedLoops(); for (LoopEx loop : loops.countedLoops()) { - if (loop.lirLoop().children.isEmpty() && loop.counted().getStamp().getBits() <= 32) { + if (loop.lirLoop().getChildren().isEmpty() && loop.counted().getStamp().getBits() <= 32) { boolean hasSafepoint = false; for (LoopEndNode loopEnd : loop.loopBegin().loopEnds()) { hasSafepoint |= loopEnd.canSafepoint(); @@ -54,7 +54,7 @@ for (LoopEx loop : loops.countedLoops()) { for (LoopEndNode loopEnd : loop.loopBegin().loopEnds()) { Block b = loops.controlFlowGraph().blockFor(loopEnd); - blocks: while (b != loop.lirLoop().header) { + blocks: while (b != loop.lirLoop().getHeader()) { assert b != null; for (FixedNode node : b.getNodes()) { if (node instanceof Invoke || node instanceof ForeignCallNode) { diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/Block.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/Block.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/Block.java Mon May 05 11:10:19 2014 +0200 @@ -57,7 +57,7 @@ } public int getLoopDepth() { - return loop == null ? 0 : loop.depth; + return loop == null ? 0 : loop.getDepth(); } public boolean isLoopHeader() { diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/CFGVerifier.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/CFGVerifier.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/CFGVerifier.java Mon May 05 11:10:19 2014 +0200 @@ -82,25 +82,25 @@ } } - assert cfg.getLoops() == null || !block.isLoopHeader() || block.getLoop().header == block : block.beginNode; + assert cfg.getLoops() == null || !block.isLoopHeader() || block.getLoop().getHeader() == block : block.beginNode; } if (cfg.getLoops() != null) { for (Loop loop : cfg.getLoops()) { - assert loop.header.isLoopHeader(); + assert loop.getHeader().isLoopHeader(); - for (Block block : loop.blocks) { - assert block.getId() >= loop.header.getId(); + for (Block block : loop.getBlocks()) { + assert block.getId() >= loop.getHeader().getId(); Loop blockLoop = block.getLoop(); while (blockLoop != loop) { assert blockLoop != null; - blockLoop = blockLoop.parent; + blockLoop = blockLoop.getParent(); } if (!(block.isLoopHeader() && block.getLoop() == loop)) { for (Block pred : block.getPredecessors()) { - if (!loop.blocks.contains(pred)) { + if (!loop.getBlocks().contains(pred)) { assert false : "Loop " + loop + " does not contain " + pred; return false; } @@ -108,12 +108,12 @@ } } - for (Block block : loop.exits) { - assert block.getId() >= loop.header.getId(); + for (Block block : loop.getExits()) { + assert block.getId() >= loop.getHeader().getId(); Loop blockLoop = block.getLoop(); while (blockLoop != null) { - blockLoop = blockLoop.parent; + blockLoop = blockLoop.getParent(); assert blockLoop != loop; } } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/ControlFlowGraph.java Mon May 05 11:10:19 2014 +0200 @@ -257,10 +257,10 @@ Block exitBlock = nodeToBlock.get(exit); assert exitBlock.getPredecessorCount() == 1; computeLoopBlocks(exitBlock.getFirstPredecessor(), loop); - loop.exits.add(exitBlock); + loop.getExits().add(exitBlock); } List unexpected = new LinkedList<>(); - for (Block b : loop.blocks) { + for (Block b : loop.getBlocks()) { for (Block sux : b.getSuccessors()) { if (sux.loop != loop) { BeginNode begin = sux.getBeginNode(); @@ -279,10 +279,10 @@ } private static void addBranchToLoop(Loop l, Block b) { - if (l.blocks.contains(b)) { + if (l.getBlocks().contains(b)) { return; } - l.blocks.add(b); + l.getBlocks().add(b); b.loop = l; for (Block sux : b.getSuccessors()) { addBranchToLoop(l, sux); @@ -293,13 +293,13 @@ if (block.getLoop() == loop) { return; } - assert block.loop == loop.parent; + assert block.loop == loop.getParent(); block.loop = loop; - assert !loop.blocks.contains(block); - loop.blocks.add(block); + assert !loop.getBlocks().contains(block); + loop.getBlocks().add(block); - if (block != loop.header) { + if (block != loop.getHeader()) { for (Block pred : block.getPredecessors()) { computeLoopBlocks(pred, loop); } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/HIRLoop.java --- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/HIRLoop.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/cfg/HIRLoop.java Mon May 05 11:10:19 2014 +0200 @@ -33,6 +33,6 @@ @Override public long numBackedges() { - return ((LoopBeginNode) header.getBeginNode()).loopEnds().count(); + return ((LoopBeginNode) getHeader().getBeginNode()).loopEnds().count(); } } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DeoptimizationGroupingPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DeoptimizationGroupingPhase.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/DeoptimizationGroupingPhase.java Mon May 05 11:10:19 2014 +0200 @@ -95,8 +95,8 @@ Block block = cfg.blockFor(deopt); Loop loop = block.getLoop(); while (loop != null) { - end.graph().addBeforeFixed(end, end.graph().add(new LoopExitNode((LoopBeginNode) loop.header.getBeginNode()))); - loop = loop.parent; + end.graph().addBeforeFixed(end, end.graph().add(new LoopExitNode((LoopBeginNode) loop.getHeader().getBeginNode()))); + loop = loop.getParent(); } } } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Mon May 05 11:10:19 2014 +0200 @@ -178,9 +178,9 @@ Loop loop = block.getLoop(); StructuredGraph graph = deopt.graph(); while (loop != null) { - LoopExitNode exit = graph.add(new LoopExitNode((LoopBeginNode) loop.header.getBeginNode())); + LoopExitNode exit = graph.add(new LoopExitNode((LoopBeginNode) loop.getHeader().getBeginNode())); graph.addBeforeFixed(deopt, exit); - loop = loop.parent; + loop = loop.getParent(); } } } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ProfileCompiledMethodsPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ProfileCompiledMethodsPhase.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/ProfileCompiledMethodsPhase.java Mon May 05 11:10:19 2014 +0200 @@ -69,9 +69,9 @@ ControlFlowGraph cfg = ControlFlowGraph.compute(graph, true, true, true, true); for (Loop loop : cfg.getLoops()) { - double loopProbability = probabilities.applyAsDouble(loop.header.getBeginNode()); + double loopProbability = probabilities.applyAsDouble(loop.getHeader().getBeginNode()); if (loopProbability > (1D / Integer.MAX_VALUE)) { - addSectionCounters(loop.header.getBeginNode(), loop.blocks, loop.children, schedule, probabilities); + addSectionCounters(loop.getHeader().getBeginNode(), loop.getBlocks(), loop.getChildren(), schedule, probabilities); } } // don't put the counter increase directly after the start (problems with OSR) @@ -96,7 +96,7 @@ ToDoubleFunction probabilities) { HashSet blocks = new HashSet<>(sectionBlocks); for (Loop loop : childLoops) { - blocks.removeAll(loop.blocks); + blocks.removeAll(loop.getBlocks()); } double weight = getSectionWeight(schedule, probabilities, blocks) / probabilities.applyAsDouble(start); DynamicCounterNode.addCounterBefore(GROUP_NAME, sectionHead(start), (long) weight, true, start.next()); diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ReentrantBlockIterator.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ReentrantBlockIterator.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/graph/ReentrantBlockIterator.java Mon May 05 11:10:19 2014 +0200 @@ -54,16 +54,16 @@ } public static LoopInfo processLoop(BlockIteratorClosure closure, Loop loop, StateT initialState) { - IdentityHashMap blockEndStates = apply(closure, loop.header, initialState, new HashSet<>(loop.blocks)); + IdentityHashMap blockEndStates = apply(closure, loop.getHeader(), initialState, new HashSet<>(loop.getBlocks())); LoopInfo info = new LoopInfo<>(); - List predecessors = loop.header.getPredecessors(); + List predecessors = loop.getHeader().getPredecessors(); for (int i = 1; i < predecessors.size(); i++) { StateT endState = blockEndStates.get(predecessors.get(i).getEndNode()); // make sure all end states are unique objects info.endStates.add(closure.cloneState(endState)); } - for (Block loopExit : loop.exits) { + for (Block loopExit : loop.getExits()) { assert loopExit.getPredecessorCount() == 1; assert blockEndStates.containsKey(loopExit.getBeginNode()); StateT exitState = blockEndStates.get(loopExit.getBeginNode()); @@ -103,14 +103,14 @@ } else { // recurse into the loop Loop loop = successor.getLoop(); - LoopBeginNode loopBegin = (LoopBeginNode) loop.header.getBeginNode(); + LoopBeginNode loopBegin = (LoopBeginNode) loop.getHeader().getBeginNode(); assert successor.getBeginNode() == loopBegin; List exitStates = closure.processLoop(loop, state); int i = 0; - assert loop.exits.size() == exitStates.size(); - for (Block exit : loop.exits) { + assert loop.getExits().size() == exitStates.size(); + for (Block exit : loop.getExits()) { states.put(exit.getBeginNode(), exitStates.get(i++)); blockQueue.addFirst(exit); } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/schedule/SchedulePhase.java Mon May 05 11:10:19 2014 +0200 @@ -157,8 +157,8 @@ protected List processLoop(Loop loop, KillSet state) { LoopInfo info = ReentrantBlockIterator.processLoop(this, loop, cloneState(state)); - assert loop.header.getBeginNode() instanceof LoopBeginNode; - KillSet headerState = merge(loop.header, info.endStates); + assert loop.getHeader().getBeginNode() instanceof LoopBeginNode; + KillSet headerState = merge(loop.getHeader(), info.endStates); // second iteration, for propagating information to loop exits info = ReentrantBlockIterator.processLoop(this, loop, cloneState(headerState)); diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java --- a/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.printer/src/com/oracle/graal/printer/CFGPrinter.java Mon May 05 11:10:19 2014 +0200 @@ -256,8 +256,8 @@ out.println(); if (block.getLoop() != null) { - out.print("loop_index ").println(block.getLoop().index); - out.print("loop_depth ").println(block.getLoop().depth); + out.print("loop_index ").println(block.getLoop().getIndex()); + out.print("loop_depth ").println(block.getLoop().getDepth()); } } diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java --- a/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.truffle.test/src/com/oracle/graal/truffle/test/PartialEvaluationTest.java Mon May 05 11:10:19 2014 +0200 @@ -138,7 +138,7 @@ @Override public int compare(LoopEx o1, LoopEx o2) { - return o2.lirLoop().depth - o1.lirLoop().depth; + return o2.lirLoop().getDepth() - o1.lirLoop().getDepth(); } }); return sortedLoops; diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/PartialEvaluator.java Mon May 05 11:10:19 2014 +0200 @@ -297,7 +297,7 @@ @Override public int compare(LoopEx o1, LoopEx o2) { - return o2.lirLoop().depth - o1.lirLoop().depth; + return o2.lirLoop().getDepth() - o1.lirLoop().getDepth(); } }); return sortedLoops; diff -r d6c80b8b414f -r 4bd6ad45ee0a graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectsClosure.java --- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectsClosure.java Tue May 06 12:14:48 2014 +0200 +++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/EffectsClosure.java Mon May 05 11:10:19 2014 +0200 @@ -155,7 +155,7 @@ protected final List processLoop(Loop loop, BlockT initialState) { BlockT loopEntryState = initialState; BlockT lastMergedState = cloneState(initialState); - MergeProcessor mergeProcessor = createMergeProcessor(loop.header); + MergeProcessor mergeProcessor = createMergeProcessor(loop.getHeader()); for (int iteration = 0; iteration < 10; iteration++) { LoopInfo info = ReentrantBlockIterator.processLoop(this, loop, cloneState(lastMergedState)); @@ -164,7 +164,7 @@ states.addAll(info.endStates); mergeProcessor.merge(states); - Debug.log("================== %s", loop.header); + Debug.log("================== %s", loop.getHeader()); Debug.log("%s", mergeProcessor.newState); Debug.log("===== vs."); Debug.log("%s", lastMergedState); @@ -172,19 +172,19 @@ if (mergeProcessor.newState.equivalentTo(lastMergedState)) { mergeProcessor.commitEnds(states); - blockEffects.get(loop.header).insertAll(mergeProcessor.mergeEffects, 0); + blockEffects.get(loop.getHeader()).insertAll(mergeProcessor.mergeEffects, 0); loopMergeEffects.put(loop, mergeProcessor.afterMergeEffects); - assert info.exitStates.size() == loop.exits.size(); - loopEntryStates.put((LoopBeginNode) loop.header.getBeginNode(), loopEntryState); - for (int i = 0; i < loop.exits.size(); i++) { - assert info.exitStates.get(i) != null : "no loop exit state at " + loop.exits.get(i) + " / " + loop.header; + assert info.exitStates.size() == loop.getExits().size(); + loopEntryStates.put((LoopBeginNode) loop.getHeader().getBeginNode(), loopEntryState); + for (int i = 0; i < loop.getExits().size(); i++) { + assert info.exitStates.get(i) != null : "no loop exit state at " + loop.getExits().get(i) + " / " + loop.getHeader(); } return info.exitStates; } else { lastMergedState = mergeProcessor.newState; - for (Block block : loop.blocks) { + for (Block block : loop.getBlocks()) { blockEffects.get(block).clear(); } }