< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/alloc/UniDirectionalTraceBuilder.java

Print this page
rev 52509 : [mq]: graal2

*** 63,73 **** blocked[block.getId()] = block.getPredecessorCount(); } } private static int compare(AbstractBlockBase<?> a, AbstractBlockBase<?> b) { ! return Double.compare(b.probability(), a.probability()); } private boolean processed(AbstractBlockBase<?> b) { return processed.get(b.getId()); } --- 63,73 ---- blocked[block.getId()] = block.getPredecessorCount(); } } private static int compare(AbstractBlockBase<?> a, AbstractBlockBase<?> b) { ! return Double.compare(b.getRelativeFrequency(), a.getRelativeFrequency()); } private boolean processed(AbstractBlockBase<?> b) { return processed.get(b.getId()); }
*** 108,118 **** assert checkPredecessorsProcessed(traceStart); ArrayList<AbstractBlockBase<?>> trace = new ArrayList<>(); int blockNumber = 0; try (Indent i = debug.logAndIndent("StartTrace: %s", traceStart)) { for (AbstractBlockBase<?> block = traceStart; block != null; block = selectNext(block)) { ! debug.log("add %s (prob: %f)", block, block.probability()); processed.set(block.getId()); trace.add(block); unblock(block); block.setLinearScanNumber(blockNumber++); } --- 108,118 ---- assert checkPredecessorsProcessed(traceStart); ArrayList<AbstractBlockBase<?>> trace = new ArrayList<>(); int blockNumber = 0; try (Indent i = debug.logAndIndent("StartTrace: %s", traceStart)) { for (AbstractBlockBase<?> block = traceStart; block != null; block = selectNext(block)) { ! debug.log("add %s (freq: %f)", block, block.getRelativeFrequency()); processed.set(block.getId()); trace.add(block); unblock(block); block.setLinearScanNumber(blockNumber++); }
*** 147,157 **** * @return The unprocessed predecessor with the highest probability, or {@code null}. */ private AbstractBlockBase<?> selectNext(AbstractBlockBase<?> block) { AbstractBlockBase<?> next = null; for (AbstractBlockBase<?> successor : block.getSuccessors()) { ! if (!processed(successor) && (next == null || successor.probability() > next.probability())) { next = successor; } } return next; } --- 147,157 ---- * @return The unprocessed predecessor with the highest probability, or {@code null}. */ private AbstractBlockBase<?> selectNext(AbstractBlockBase<?> block) { AbstractBlockBase<?> next = null; for (AbstractBlockBase<?> successor : block.getSuccessors()) { ! if (!processed(successor) && (next == null || successor.getRelativeFrequency() > next.getRelativeFrequency())) { next = successor; } } return next; }
< prev index next >