aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2018-08-11 13:33:30 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-08-11 13:35:33 -0700
commit5276be608c43fa37706903c1d9301403f814985e (patch)
treec23c959a8ebb6ed05b4ec6a4ed6cacf50571f40b /src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
parent2678ab3f8bc609e686a001e15b91991c17986e36 (diff)
Use NestedSets to store topLevelModules and discoveredModules. Also improve
computeTransitivelyUsedModules to return early on missing values instead of starting to create datastructures. RELNOTES: None. PiperOrigin-RevId: 208351193
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
index d6c258f8de..4293dddf6f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
@@ -31,6 +31,7 @@ import com.google.devtools.build.lib.actions.FileArtifactValue;
import com.google.devtools.build.lib.actions.FileStateValue;
import com.google.devtools.build.lib.actions.FileValue;
import com.google.devtools.build.lib.actions.FilesetOutputSymlink;
+import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.lib.skyframe.serialization.UnshareableValue;
@@ -79,7 +80,7 @@ public class ActionExecutionValue implements SkyValue {
@Nullable private final ImmutableList<FilesetOutputSymlink> outputSymlinks;
- @Nullable private final ImmutableList<Artifact> discoveredModules;
+ @Nullable private final NestedSet<Artifact> discoveredModules;
/**
* @param artifactData Map from Artifacts to corresponding FileValues.
@@ -97,7 +98,7 @@ public class ActionExecutionValue implements SkyValue {
Map<Artifact, TreeArtifactValue> treeArtifactData,
Map<Artifact, FileArtifactValue> additionalOutputData,
@Nullable ImmutableList<FilesetOutputSymlink> outputSymlinks,
- @Nullable ImmutableList<Artifact> discoveredModules) {
+ @Nullable NestedSet<Artifact> discoveredModules) {
this.artifactData = ImmutableMap.<Artifact, FileValue>copyOf(artifactData);
this.additionalOutputData = ImmutableMap.copyOf(additionalOutputData);
this.treeArtifactData = ImmutableMap.copyOf(treeArtifactData);
@@ -110,7 +111,7 @@ public class ActionExecutionValue implements SkyValue {
Map<Artifact, TreeArtifactValue> treeArtifactData,
Map<Artifact, FileArtifactValue> additionalOutputData,
@Nullable ImmutableList<FilesetOutputSymlink> outputSymlinks,
- @Nullable ImmutableList<Artifact> discoveredModules,
+ @Nullable NestedSet<Artifact> discoveredModules,
boolean notifyOnActionCacheHitAction) {
return notifyOnActionCacheHitAction
? new CrossServerUnshareableActionExecutionValue(
@@ -172,7 +173,7 @@ public class ActionExecutionValue implements SkyValue {
}
@Nullable
- public ImmutableList<Artifact> getDiscoveredModules() {
+ public NestedSet<Artifact> getDiscoveredModules() {
return discoveredModules;
}
@@ -246,7 +247,7 @@ public class ActionExecutionValue implements SkyValue {
Map<Artifact, TreeArtifactValue> treeArtifactData,
Map<Artifact, FileArtifactValue> additionalOutputData,
@Nullable ImmutableList<FilesetOutputSymlink> outputSymlinks,
- @Nullable ImmutableList<Artifact> discoveredModules) {
+ @Nullable NestedSet<Artifact> discoveredModules) {
super(
artifactData, treeArtifactData, additionalOutputData, outputSymlinks, discoveredModules);
}