In SkyQueryEnvironment, cache some more objects that are just functions of final fields.
--
MOS_MIGRATED_REVID=138894804
diff --git a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
index a3f7c6d..8ca4cc5 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/SkyQueryEnvironment.java
@@ -139,6 +139,7 @@
private ForkJoinPool forkJoinPool;
private RecursivePackageProviderBackedTargetPatternResolver resolver;
private final SkyKey universeKey;
+ private final ImmutableList<TargetPatternKey> universeTargetPatternKeys;
public SkyQueryEnvironment(
boolean keepGoing,
@@ -196,6 +197,9 @@
!universeScope.isEmpty(), "No queries can be performed with an empty universe");
this.queryEvaluationParallelismLevel = queryEvaluationParallelismLevel;
this.universeKey = graphFactory.getUniverseKey(universeScope, parserPrefix);
+ universeTargetPatternKeys =
+ PrepareDepsOfPatternsFunction.getTargetPatternKeys(
+ PrepareDepsOfPatternsFunction.getSkyKeys(universeKey, eventHandler));
}
private void beforeEvaluateQuery() throws InterruptedException {
@@ -211,9 +215,6 @@
graph = result.getWalkableGraph();
blacklistPatternsSupplier = InterruptibleSupplier.Memoize.of(new BlacklistSupplier(graph));
- ImmutableList<TargetPatternKey> universeTargetPatternKeys =
- PrepareDepsOfPatternsFunction.getTargetPatternKeys(
- PrepareDepsOfPatternsFunction.getSkyKeys(universeKey, eventHandler));
GraphBackedRecursivePackageProvider graphBackedRecursivePackageProvider =
new GraphBackedRecursivePackageProvider(graph, universeTargetPatternKeys, pkgPath);
forkJoinPool =