< prev index next >

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

Print this page
rev 52509 : [mq]: graal2

*** 61,71 **** queue.sort(BiDirectionalTraceBuilder::compare); return new ArrayDeque<>(queue); } 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()); } --- 61,71 ---- queue.sort(BiDirectionalTraceBuilder::compare); return new ArrayDeque<>(queue); } 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()); }
*** 130,150 **** debug.log("Trace: %s", trace); return trace; } private void addBlockToTrace(DebugContext debug, AbstractBlockBase<?> block) { ! debug.log("add %s (prob: %f)", block, block.probability()); processed.set(block.getId()); } /** * @return The unprocessed predecessor with the highest probability, or {@code null}. */ private AbstractBlockBase<?> selectPredecessor(AbstractBlockBase<?> block) { AbstractBlockBase<?> next = null; for (AbstractBlockBase<?> pred : block.getPredecessors()) { ! if (!processed(pred) && !isBackEdge(pred, block) && (next == null || pred.probability() > next.probability())) { next = pred; } } return next; } --- 130,150 ---- debug.log("Trace: %s", trace); return trace; } private void addBlockToTrace(DebugContext debug, AbstractBlockBase<?> block) { ! debug.log("add %s (freq: %f)", block, block.getRelativeFrequency()); processed.set(block.getId()); } /** * @return The unprocessed predecessor with the highest probability, or {@code null}. */ private AbstractBlockBase<?> selectPredecessor(AbstractBlockBase<?> block) { AbstractBlockBase<?> next = null; for (AbstractBlockBase<?> pred : block.getPredecessors()) { ! if (!processed(pred) && !isBackEdge(pred, block) && (next == null || pred.getRelativeFrequency() > next.getRelativeFrequency())) { next = pred; } } return next; }
*** 158,168 **** * @return The unprocessed successor with the highest probability, or {@code null}. */ private AbstractBlockBase<?> selectSuccessor(AbstractBlockBase<?> block) { AbstractBlockBase<?> next = null; for (AbstractBlockBase<?> succ : block.getSuccessors()) { ! if (!processed(succ) && (next == null || succ.probability() > next.probability())) { next = succ; } } return next; } --- 158,168 ---- * @return The unprocessed successor with the highest probability, or {@code null}. */ private AbstractBlockBase<?> selectSuccessor(AbstractBlockBase<?> block) { AbstractBlockBase<?> next = null; for (AbstractBlockBase<?> succ : block.getSuccessors()) { ! if (!processed(succ) && (next == null || succ.getRelativeFrequency() > next.getRelativeFrequency())) { next = succ; } } return next; }
< prev index next >