diff options
author | 2016-06-27 17:17:23 +0000 | |
---|---|---|
committer | 2016-06-27 20:06:00 +0000 | |
commit | 9c5b0700b033e70122c4bd9a2cb52f0bef05e2dc (patch) | |
tree | e5a1658cb78bf3a01c1803b531adb9decb961764 /src/main/java/com/google/devtools/build/lib | |
parent | 805c8b2b667c77ad04d1e2a917e1fe2c00551170 (diff) |
Short-circuit visitation of empty nested sets, reinstating the spirit of commit 7c991c333999f3027d31da6af700f575924066cd.
--
MOS_MIGRATED_REVID=125969403
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetVisitor.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetVisitor.java b/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetVisitor.java index 705653f063..686991cfab 100644 --- a/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetVisitor.java +++ b/src/main/java/com/google/devtools/build/lib/collect/nestedset/NestedSetVisitor.java @@ -58,7 +58,11 @@ public final class NestedSetVisitor<E> { */ public void visit(NestedSet<E> nestedSet) { Preconditions.checkArgument(nestedSet.getOrder() == Order.STABLE_ORDER); - visitRaw(nestedSet.rawChildren()); + // We can short-circuit empty nested set visitation here, avoiding load on the shared map + // VisitedState#seenNodes. + if (!nestedSet.isEmpty()) { + visitRaw(nestedSet.rawChildren()); + } } @SuppressWarnings("unchecked") |