diff options
author | Nathan Harmata <nharmata@google.com> | 2016-09-07 14:58:14 +0000 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2016-09-08 08:43:46 +0000 |
commit | f37750ab476e7ee535315d090bf48351e8cc74aa (patch) | |
tree | 7709edb33e7085514d229dd97c99408319d5a890 /src/main/java/com/google/devtools/build/lib/query2/engine/TargetLiteral.java | |
parent | 01573f7b004d514b8890441f1079178ef66a70c4 (diff) |
A bunch of small changes to prepare SkyQueryEnvironment for full-parallel evaluation:
-Rename QueryExpression#evalConcurrently to QueryExpression#parEval. (parallelism is not concurrency! See https://existentialtype.wordpress.com/2011/03/17/parallelism-is-not-concurrency/)
-Have SkyQueryEnvironment#eval (used recursively in #evaluateQuery) dynamically call QueryExpression#parEval when appropriate.
-Delete QueryExpression#canEvalConcurrently.
-Add ThreadSafety annotations in a bunch of relevant places in the query codebase.
-A bunch of testing infrastructure to test parallel query evaluation.
-TODOs for implementing parallel evaluation of all QueryExpression nodes.
--
MOS_MIGRATED_REVID=132436340
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/query2/engine/TargetLiteral.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/query2/engine/TargetLiteral.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/query2/engine/TargetLiteral.java b/src/main/java/com/google/devtools/build/lib/query2/engine/TargetLiteral.java index bb24022ee1..8b718ab01a 100644 --- a/src/main/java/com/google/devtools/build/lib/query2/engine/TargetLiteral.java +++ b/src/main/java/com/google/devtools/build/lib/query2/engine/TargetLiteral.java @@ -45,8 +45,9 @@ public final class TargetLiteral extends QueryExpression { } @Override - public <T> void eval(QueryEnvironment<T> env, VariableContext<T> context, Callback<T> callback) - throws QueryException, InterruptedException { + protected <T> void evalImpl( + QueryEnvironment<T> env, VariableContext<T> context, Callback<T> callback) + throws QueryException, InterruptedException { if (isVariableReference()) { String varName = LetExpression.getNameFromReference(pattern); Set<T> value = context.get(varName); |