diff options
author | 2018-03-27 12:41:13 -0700 | |
---|---|---|
committer | 2018-03-27 12:44:34 -0700 | |
commit | 44eb96413bc99291854c51a04b18397a400ccd90 (patch) | |
tree | eb28525ba60372fe976a616a00a1de21e03796e5 /src/main/java/com/google/devtools/build/skyframe | |
parent | c9dcf83ccdeced9a68ab1d5719e51c51e9881fd2 (diff) |
Fix accidental eager expansion of grouped list in in-memory nodes.
PiperOrigin-RevId: 190656902
Diffstat (limited to 'src/main/java/com/google/devtools/build/skyframe')
-rw-r--r-- | src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java b/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java index 24dfeab6b4..7b48275cbe 100644 --- a/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java +++ b/src/main/java/com/google/devtools/build/skyframe/InMemoryNodeEntry.java @@ -491,7 +491,7 @@ public class InMemoryNodeEntry implements NodeEntry { @Override public synchronized void forceRebuild() { - Preconditions.checkState(getTemporaryDirectDeps().numElements() == signaledDeps, this); + Preconditions.checkState(getNumTemporaryDirectDeps() == signaledDeps, this); getDirtyBuildingState().forceChanged(); } @@ -560,6 +560,10 @@ public class InMemoryNodeEntry implements NodeEntry { return (GroupedList<SkyKey>) directDeps; } + private synchronized int getNumTemporaryDirectDeps() { + return directDeps == null ? 0 : getTemporaryDirectDeps().numElements(); + } + @Override public synchronized boolean noDepsLastBuild() { return getDirtyBuildingState().noDepsLastBuild(); @@ -592,7 +596,7 @@ public class InMemoryNodeEntry implements NodeEntry { @Override public synchronized boolean isReady() { Preconditions.checkState(!isDone(), "can't be ready if done: %s", this); - return isReady(getTemporaryDirectDeps().numElements()); + return isReady(getNumTemporaryDirectDeps()); } /** Returns whether all known children of this node have signaled that they are done. */ |