src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/LIRPhase.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/LIRPhase.java Fri Jul 7 09:31:06 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/LIRPhase.java Fri Jul 7 09:31:06 2017
*** 22,36 ****
--- 22,35 ----
*/
package org.graalvm.compiler.lir.phases;
import java.util.regex.Pattern;
import org.graalvm.compiler.debug.Debug;
import org.graalvm.compiler.debug.Debug.Scope;
import org.graalvm.compiler.debug.DebugCloseable;
! import org.graalvm.compiler.debug.DebugMemUseTracker;
! import org.graalvm.compiler.debug.DebugTimer;
! import org.graalvm.compiler.debug.DebugContext;
! import org.graalvm.compiler.debug.MemUseTrackerKey;
+ import org.graalvm.compiler.debug.TimerKey;
import org.graalvm.compiler.lir.LIR;
import org.graalvm.compiler.lir.gen.LIRGenerationResult;
import org.graalvm.compiler.options.Option;
import org.graalvm.compiler.options.OptionKey;
import org.graalvm.compiler.options.OptionType;
*** 51,81 ****
--- 50,80 ----
}
/**
* Records time spent within {@link #apply}.
*/
! private final DebugTimer timer;
! private final TimerKey timer;
/**
* Records memory usage within {@link #apply}.
*/
! private final DebugMemUseTracker memUseTracker;
! private final MemUseTrackerKey memUseTracker;
public static final class LIRPhaseStatistics {
/**
* Records time spent within {@link #apply}.
*/
! public final DebugTimer timer;
! public final TimerKey timer;
/**
* Records memory usage within {@link #apply}.
*/
! public final DebugMemUseTracker memUseTracker;
! public final MemUseTrackerKey memUseTracker;
public LIRPhaseStatistics(Class<?> clazz) {
! timer = DebugContext.timer("LIRPhaseTime_%s", clazz);
! memUseTracker = DebugContext.memUseTracker("LIRPhaseMemUse_%s", clazz);
}
}
public static final ClassValue<LIRPhaseStatistics> statisticsClassValue = new ClassValue<LIRPhaseStatistics>() {
@Override
*** 108,134 ****
--- 107,135 ----
apply(target, lirGenRes, context, true);
}
@SuppressWarnings("try")
public final void apply(TargetDescription target, LIRGenerationResult lirGenRes, C context, boolean dumpLIR) {
try (Scope s = Debug.scope(getName(), this)) {
! try (DebugCloseable a = timer.start(); DebugCloseable c = memUseTracker.start()) {
+ DebugContext debug = lirGenRes.getLIR().getDebug();
! try (DebugContext.Scope s = debug.scope(getName(), this)) {
+ try (DebugCloseable a = timer.start(debug); DebugCloseable c = memUseTracker.start(debug)) {
run(target, lirGenRes, context);
! if (dumpLIR && Debug.isEnabled()) {
! if (dumpLIR && debug.areScopesEnabled()) {
dumpAfter(lirGenRes);
}
}
} catch (Throwable e) {
! throw Debug.handle(e);
! throw debug.handle(e);
}
}
private void dumpAfter(LIRGenerationResult lirGenRes) {
boolean isStage = this instanceof LIRPhaseSuite;
if (!isStage) {
if (Debug.isDumpEnabled(Debug.INFO_LEVEL)) {
Debug.dump(Debug.INFO_LEVEL, lirGenRes.getLIR(), "After %s", getName());
+ DebugContext debug = lirGenRes.getLIR().getDebug();
+ if (debug.isDumpEnabled(DebugContext.INFO_LEVEL)) {
+ debug.dump(DebugContext.INFO_LEVEL, lirGenRes.getLIR(), "After %s", getName());
}
}
}
protected abstract void run(TargetDescription target, LIRGenerationResult lirGenRes, C context);
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/phases/LIRPhase.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File