--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/MoveResolver.java 2017-07-07 09:30:43.000000000 -0700 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/alloc/lsra/MoveResolver.java 2017-07-07 09:30:43.000000000 -0700 @@ -29,8 +29,8 @@ import java.util.ArrayList; import org.graalvm.compiler.core.common.LIRKind; -import org.graalvm.compiler.debug.Debug; -import org.graalvm.compiler.debug.DebugCounter; +import org.graalvm.compiler.debug.CounterKey; +import org.graalvm.compiler.debug.DebugContext; import org.graalvm.compiler.debug.GraalError; import org.graalvm.compiler.debug.Indent; import org.graalvm.compiler.lir.LIRInsertionBuffer; @@ -39,7 +39,6 @@ import org.graalvm.compiler.lir.gen.LIRGenerationResult; import org.graalvm.util.Equivalence; import org.graalvm.util.EconomicSet; - import jdk.vm.ci.meta.AllocatableValue; import jdk.vm.ci.meta.Constant; import jdk.vm.ci.meta.Value; @@ -48,7 +47,7 @@ */ public class MoveResolver { - private static final DebugCounter cycleBreakingSlotsAllocated = Debug.counter("LSRA[cycleBreakingSlotsAllocated]"); + private static final CounterKey cycleBreakingSlotsAllocated = DebugContext.counter("LSRA[cycleBreakingSlotsAllocated]"); private final LinearScan allocator; @@ -207,7 +206,7 @@ assert areMultipleReadsAllowed() || valueBlocked(location) == 0 : "location already marked as used: " + location; int direction = 1; setValueBlocked(location, direction); - Debug.log("block %s", location); + allocator.getDebug().log("block %s", location); } } @@ -217,7 +216,7 @@ if (mightBeBlocked(location)) { assert valueBlocked(location) > 0 : "location already marked as unused: " + location; setValueBlocked(location, -1); - Debug.log("unblock %s", location); + allocator.getDebug().log("unblock %s", location); } } @@ -276,8 +275,9 @@ LIRInstruction move = createMove(fromInterval.operand, toInterval.operand, fromInterval.location(), toInterval.location()); insertionBuffer.append(insertIdx, move); - if (Debug.isLogEnabled()) { - Debug.log("insert move from %s to %s at %d", fromInterval, toInterval, insertIdx); + DebugContext debug = allocator.getDebug(); + if (debug.isLogEnabled()) { + debug.log("insert move from %s to %s at %d", fromInterval, toInterval, insertIdx); } return move; } @@ -299,17 +299,19 @@ LIRInstruction move = getAllocator().getSpillMoveFactory().createLoad(toOpr, fromOpr); insertionBuffer.append(insertIdx, move); - if (Debug.isLogEnabled()) { - Debug.log("insert move from value %s to %s at %d", fromOpr, toInterval, insertIdx); + DebugContext debug = allocator.getDebug(); + if (debug.isLogEnabled()) { + debug.log("insert move from value %s to %s at %d", fromOpr, toInterval, insertIdx); } return move; } @SuppressWarnings("try") private void resolveMappings() { - try (Indent indent = Debug.logAndIndent("resolveMapping")) { + DebugContext debug = allocator.getDebug(); + try (Indent indent = debug.logAndIndent("resolveMapping")) { assert verifyBeforeResolve(); - if (Debug.isLogEnabled()) { + if (debug.isLogEnabled()) { printMapping(); } @@ -389,7 +391,7 @@ if (spillSlot == null) { spillSlot = getAllocator().getFrameMapBuilder().allocateSpillSlot(fromInterval.kind()); fromInterval.setSpillSlot(spillSlot); - cycleBreakingSlotsAllocated.increment(); + cycleBreakingSlotsAllocated.increment(allocator.getDebug()); } spillInterval(spillCandidate, fromInterval, spillSlot); } @@ -406,8 +408,9 @@ spillInterval.assignLocation(spillSlot); - if (Debug.isLogEnabled()) { - Debug.log("created new Interval for spilling: %s", spillInterval); + DebugContext debug = allocator.getDebug(); + if (debug.isLogEnabled()) { + debug.log("created new Interval for spilling: %s", spillInterval); } blockRegisters(spillInterval); @@ -420,7 +423,8 @@ @SuppressWarnings("try") private void printMapping() { - try (Indent indent = Debug.logAndIndent("Mapping")) { + DebugContext debug = allocator.getDebug(); + try (Indent indent = debug.logAndIndent("Mapping")) { for (int i = mappingFrom.size() - 1; i >= 0; i--) { Interval fromInterval = mappingFrom.get(i); Interval toInterval = mappingTo.get(i); @@ -431,7 +435,7 @@ } else { from = fromInterval.location().toString(); } - Debug.log("move %s <- %s", from, to); + debug.log("move %s <- %s", from, to); } } } @@ -460,10 +464,10 @@ } public void addMapping(Interval fromInterval, Interval toInterval) { - + DebugContext debug = allocator.getDebug(); if (isIllegal(toInterval.location()) && toInterval.canMaterialize()) { - if (Debug.isLogEnabled()) { - Debug.log("no store to rematerializable interval %s needed", toInterval); + if (debug.isLogEnabled()) { + debug.log("no store to rematerializable interval %s needed", toInterval); } return; } @@ -473,8 +477,8 @@ addMapping(rematValue, toInterval); return; } - if (Debug.isLogEnabled()) { - Debug.log("add move mapping from %s to %s", fromInterval, toInterval); + if (debug.isLogEnabled()) { + debug.log("add move mapping from %s to %s", fromInterval, toInterval); } assert !fromInterval.operand.equals(toInterval.operand) : "from and to interval equal: " + fromInterval; @@ -486,8 +490,9 @@ } public void addMapping(Constant fromOpr, Interval toInterval) { - if (Debug.isLogEnabled()) { - Debug.log("add move mapping from %s to %s", fromOpr, toInterval); + DebugContext debug = allocator.getDebug(); + if (debug.isLogEnabled()) { + debug.log("add move mapping from %s to %s", fromOpr, toInterval); } mappingFrom.add(null);