diff options
author | Googler <noreply@google.com> | 2016-07-15 22:23:37 +0000 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2016-07-18 10:44:37 +0000 |
commit | bfd4e2461556a67502c80c84c0228b8c91955623 (patch) | |
tree | 554c56e1e90f9c6b93bdec7a3b10ec5629c7693f /src/main/java/com/google/devtools/build/lib/skyframe/ActionArtifactCycleReporter.java | |
parent | a66a56b108c04f05efcb9b965361d692435acc59 (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.java | 8 |
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) { |