Don't memoize the artifacts to owners supplier since it is only used in one place, and memoizing holds a reference to the result longer than necessary.

PiperOrigin-RevId: 259079198
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
index 980f015..cba1ec4 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
@@ -18,7 +18,6 @@
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Predicate;
 import com.google.common.base.Stopwatch;
-import com.google.common.base.Suppliers;
 import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
@@ -335,10 +334,11 @@
             Profiler.instance().profile(actionContextProvider + ".executionPhaseStarting")) {
           actionContextProvider.executionPhaseStarting(
               actionGraph,
-              Suppliers.memoize(
-                  () ->
-                      TopLevelArtifactHelper.makeTopLevelArtifactsToOwnerLabels(
-                          analysisResult, aspects)));
+              // If this supplier is ever consumed by more than one ActionContextProvider, it can be
+              // pulled out of the loop and made a memoizing supplier.
+              () ->
+                  TopLevelArtifactHelper.makeTopLevelArtifactsToOwnerLabels(
+                      analysisResult, aspects));
         }
       }
       skyframeExecutor.drainChangedFiles();