aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
diff options
context:
space:
mode:
authorGravatar Mark Schaller <mschaller@google.com>2015-12-09 16:23:22 +0000
committerGravatar David Chen <dzc@google.com>2015-12-09 22:51:10 +0000
commitd1cd14b432c18e7a4531ea4c23ab7eae3bb327e8 (patch)
treedc61176e299a37885b95a41309fa723c51992152 /src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
parent5d058c495c50f4a0a1eee420ac75981ef8cce803 (diff)
Avoid list copy in BuildingState.getNextDirtyDirectDeps
Also, in GroupedList, short-circuit expensive group equality check with a reference check, saving time and garbage when groups are the same object. -- MOS_MIGRATED_REVID=109795332
Diffstat (limited to 'src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java')
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
index 802e940f69..e9c18b136b 100644
--- a/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
+++ b/src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java
@@ -869,7 +869,8 @@ public final class ParallelEvaluator implements Evaluator {
// in #invalidatedByErrorTransience means that the error transience node is not newer
// than this node, so we are going to mark it clean (since the error transience node is
// always the last dep).
- state.addTemporaryDirectDeps(GroupedListHelper.create(directDepsToCheck));
+ state.addTemporaryDirectDepsGroupToDirtyEntry(directDepsToCheck);
+
for (Map.Entry<SkyKey, NodeEntry> e
: graph.createIfAbsentBatch(directDepsToCheck).entrySet()) {
SkyKey directDep = e.getKey();