diff options
author | 2015-12-09 16:23:22 +0000 | |
---|---|---|
committer | 2015-12-09 22:51:10 +0000 | |
commit | d1cd14b432c18e7a4531ea4c23ab7eae3bb327e8 (patch) | |
tree | dc61176e299a37885b95a41309fa723c51992152 /src/main/java/com/google/devtools/build/skyframe/ParallelEvaluator.java | |
parent | 5d058c495c50f4a0a1eee420ac75981ef8cce803 (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.java | 3 |
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(); |