aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2016-07-15 22:23:37 +0000
committerGravatar Yun Peng <pcloudy@google.com>2016-07-18 10:44:37 +0000
commitbfd4e2461556a67502c80c84c0228b8c91955623 (patch)
tree554c56e1e90f9c6b93bdec7a3b10ec5629c7693f /src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java
parenta66a56b108c04f05efcb9b965361d692435acc59 (diff)
Model the TopLevelArtifactContext as an argument to the CompletionFunction rather than a PRECOMPUTED value.
Having a stale TopLevelArtifactContext leads to invalidation of all the top level target nodes, causing time wasted due to a lot of cache hits for a null build. -- MOS_MIGRATED_REVID=127585059
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java
index 91574fc16c..b71321cf7f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java
@@ -18,10 +18,10 @@ import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.Action;
-import com.google.devtools.build.lib.analysis.LabelAndConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.pkgcache.PackageProvider;
import com.google.devtools.build.lib.skyframe.ArtifactValue.OwnedArtifact;
+import com.google.devtools.build.lib.skyframe.TargetCompletionValue.TargetCompletionKey;
import com.google.devtools.build.skyframe.CycleInfo;
import com.google.devtools.build.skyframe.SkyFunctionName;
import com.google.devtools.build.skyframe.SkyKey;
@@ -50,9 +50,9 @@ public class ActionArtifactCycleReporter extends AbstractLabelCycleReporter {
return "file: " + ((OwnedArtifact) arg).getArtifact().getRootRelativePathString();
} else if (arg instanceof Action) {
return "action: " + ((Action) arg).getMnemonic();
- } else if (arg instanceof LabelAndConfiguration
+ } else if (arg instanceof TargetCompletionKey
&& skyFunctionName.equals(SkyFunctions.TARGET_COMPLETION)) {
- return "configured target: " + ((LabelAndConfiguration) arg).getLabel();
+ return "configured target: " + ((TargetCompletionKey) arg).labelAndConfiguration().getLabel();
}
throw new IllegalStateException(
"Argument is not Action, TargetCompletion, or OwnedArtifact: " + arg);
@@ -60,7 +60,7 @@ public class ActionArtifactCycleReporter extends AbstractLabelCycleReporter {
@Override
protected Label getLabel(SkyKey key) {
- Object arg = key.argument();
+ Object arg = key.argument();
if (arg instanceof OwnedArtifact) {
return ((OwnedArtifact) arg).getArtifact().getOwner();
} else if (arg instanceof Action) {