From 1a5c3160d7a683c80c778278b75b2a7cde11996b Mon Sep 17 00:00:00 2001 From: Googler Date: Thu, 16 Mar 2023 10:46:51 -0700 Subject: [PATCH] Apply `SkyKeyInterner` to remaining `SkyKey`s using `Blaze.weakInterner` PiperOrigin-RevId: 517166151 Change-Id: I57e0bcfe6b30664aac8625b505d8a8c473bf846f --- .../build/lib/bazel/bzlmod/BzlmodRepoRuleValue.java | 10 +++++++--- .../build/lib/bazel/bzlmod/ModuleFileValue.java | 9 ++++++--- .../lib/bazel/bzlmod/SingleExtensionEvalValue.java | 10 +++++++--- .../bazel/bzlmod/SingleExtensionUsagesValue.java | 10 +++++++--- .../lib/io/FileSymlinkCycleUniquenessFunction.java | 9 ++++++--- ...eSymlinkInfiniteExpansionUniquenessFunction.java | 9 ++++++--- .../lib/rules/cpp/CcSkyframeFdoSupportValue.java | 9 ++++++--- .../GenQueryDirectPackageProviderFactory.java | 9 ++++++--- .../rules/repository/RepositoryDirectoryValue.java | 9 ++++++--- .../lib/rules/repository/ResolvedFileValue.java | 9 ++++++--- .../lib/skyframe/ActionEnvironmentFunction.java | 9 ++++++--- .../skyframe/ActionLookupConflictFindingValue.java | 10 +++++++--- .../lib/skyframe/CollectTargetsInPackageValue.java | 10 ++++++---- .../build/lib/skyframe/FilesetEntryKey.java | 11 +++++++---- .../lib/skyframe/LocalRepositoryLookupValue.java | 10 +++++++--- .../build/lib/skyframe/PackageErrorFunction.java | 9 ++++++--- .../lib/skyframe/PackageErrorMessageValue.java | 9 ++++++--- .../lib/skyframe/PrepareDepsOfPatternValue.java | 10 +++++++--- .../PrepareDepsOfTargetsUnderDirectoryValue.java | 13 ++++++++----- .../lib/skyframe/TargetPatternErrorFunction.java | 9 ++++++--- 20 files changed, 129 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BzlmodRepoRuleValue.java b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BzlmodRepoRuleValue.java index d7d8029ba94fb3..54debf54af9f78 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BzlmodRepoRuleValue.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BzlmodRepoRuleValue.java @@ -14,14 +14,13 @@ package com.google.devtools.build.lib.bazel.bzlmod; -import com.google.common.collect.Interner; import com.google.devtools.build.lib.cmdline.RepositoryName; -import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.packages.Package; import com.google.devtools.build.lib.packages.Rule; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.skyframe.AbstractSkyKey; import com.google.devtools.build.skyframe.SkyFunctionName; +import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; /** The result of {@link BzlmodRepoRuleFunction}, holding a repository rule instance. */ @@ -63,7 +62,7 @@ public Rule getRule() { /** Argument for the SkyKey to request a BzlmodRepoRuleValue. */ @AutoCodec public static class Key extends AbstractSkyKey { - private static final Interner interner = BlazeInterners.newWeakInterner(); + private static final SkyKeyInterner interner = SkyKey.newInterner(); private Key(RepositoryName arg) { super(arg); @@ -79,5 +78,10 @@ static Key create(RepositoryName arg) { public SkyFunctionName functionName() { return BZLMOD_REPO_RULE; } + + @Override + public SkyKeyInterner getSkyKeyInterner() { + return interner; + } } } diff --git a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleFileValue.java b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleFileValue.java index c6202fefdeb088..b35e8c7ac5fb85 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleFileValue.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleFileValue.java @@ -18,9 +18,7 @@ import com.google.auto.value.AutoValue; import com.google.auto.value.extension.memoized.Memoized; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Interner; import com.google.devtools.build.lib.cmdline.RepositoryName; -import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.skyframe.SkyFunctions; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.skyframe.SkyFunctionName; @@ -85,7 +83,7 @@ public static Key key(ModuleKey moduleKey, @Nullable ModuleOverride override) { @AutoCodec @AutoValue abstract static class Key implements SkyKey { - private static final Interner interner = BlazeInterners.newWeakInterner(); + private static final SkyKeyInterner interner = SkyKey.newInterner(); abstract ModuleKey getModuleKey(); @@ -105,5 +103,10 @@ public SkyFunctionName functionName() { @Memoized @Override public abstract int hashCode(); + + @Override + public SkyKeyInterner getSkyKeyInterner() { + return interner; + } } } diff --git a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalValue.java b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalValue.java index d46ad803fd6ed6..574c97fb1d6713 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalValue.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalValue.java @@ -18,14 +18,13 @@ import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Interner; import com.google.devtools.build.lib.cmdline.RepositoryName; -import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.packages.Package; import com.google.devtools.build.lib.skyframe.SkyFunctions; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.skyframe.AbstractSkyKey; import com.google.devtools.build.skyframe.SkyFunctionName; +import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; /** The result of evaluating a single module extension (see {@link SingleExtensionEvalFunction}). */ @@ -57,7 +56,7 @@ public static Key key(ModuleExtensionId id) { @AutoCodec static class Key extends AbstractSkyKey { - private static final Interner interner = BlazeInterners.newWeakInterner(); + private static final SkyKeyInterner interner = SkyKey.newInterner(); protected Key(ModuleExtensionId arg) { super(arg); @@ -72,5 +71,10 @@ static Key create(ModuleExtensionId arg) { public SkyFunctionName functionName() { return SkyFunctions.SINGLE_EXTENSION_EVAL; } + + @Override + public SkyKeyInterner getSkyKeyInterner() { + return interner; + } } } diff --git a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionUsagesValue.java b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionUsagesValue.java index f00e1bbd4852b3..9249d3bf5791b3 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionUsagesValue.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionUsagesValue.java @@ -18,13 +18,12 @@ import com.google.auto.value.AutoValue; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Interner; import com.google.devtools.build.lib.cmdline.RepositoryMapping; -import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.skyframe.SkyFunctions; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.skyframe.AbstractSkyKey; import com.google.devtools.build.skyframe.SkyFunctionName; +import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; /** The result of {@link SingleExtensionUsagesFunction}. */ @@ -59,7 +58,7 @@ public static Key key(ModuleExtensionId id) { @AutoCodec static class Key extends AbstractSkyKey { - private static final Interner interner = BlazeInterners.newWeakInterner(); + private static final SkyKeyInterner interner = SkyKey.newInterner(); protected Key(ModuleExtensionId arg) { super(arg); @@ -74,5 +73,10 @@ static Key create(ModuleExtensionId arg) { public SkyFunctionName functionName() { return SkyFunctions.SINGLE_EXTENSION_USAGES; } + + @Override + public SkyKeyInterner getSkyKeyInterner() { + return interner; + } } } diff --git a/src/main/java/com/google/devtools/build/lib/io/FileSymlinkCycleUniquenessFunction.java b/src/main/java/com/google/devtools/build/lib/io/FileSymlinkCycleUniquenessFunction.java index b303dfa5f62118..7479bf9a9319fc 100644 --- a/src/main/java/com/google/devtools/build/lib/io/FileSymlinkCycleUniquenessFunction.java +++ b/src/main/java/com/google/devtools/build/lib/io/FileSymlinkCycleUniquenessFunction.java @@ -14,8 +14,6 @@ package com.google.devtools.build.lib.io; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Interner; -import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.vfs.RootedPath; import com.google.devtools.build.skyframe.AbstractSkyKey; @@ -39,7 +37,7 @@ public static SkyKey key(ImmutableList cycle) { @AutoCodec.VisibleForSerialization @AutoCodec static class Key extends AbstractSkyKey.WithCachedHashCode> { - private static final Interner interner = BlazeInterners.newWeakInterner(); + private static final SkyKeyInterner interner = SkyKey.newInterner(); private Key(ImmutableList arg) { super(arg); @@ -55,6 +53,11 @@ static Key create(ImmutableList arg) { public SkyFunctionName functionName() { return NAME; } + + @Override + public SkyKeyInterner getSkyKeyInterner() { + return interner; + } } @Override diff --git a/src/main/java/com/google/devtools/build/lib/io/FileSymlinkInfiniteExpansionUniquenessFunction.java b/src/main/java/com/google/devtools/build/lib/io/FileSymlinkInfiniteExpansionUniquenessFunction.java index 38a441587703f9..fac0ee36076b79 100644 --- a/src/main/java/com/google/devtools/build/lib/io/FileSymlinkInfiniteExpansionUniquenessFunction.java +++ b/src/main/java/com/google/devtools/build/lib/io/FileSymlinkInfiniteExpansionUniquenessFunction.java @@ -14,8 +14,6 @@ package com.google.devtools.build.lib.io; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Interner; -import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.vfs.RootedPath; import com.google.devtools.build.skyframe.AbstractSkyKey; @@ -40,7 +38,7 @@ public static SkyKey key(ImmutableList cycle) { @AutoCodec.VisibleForSerialization @AutoCodec static class Key extends AbstractSkyKey.WithCachedHashCode> { - private static final Interner interner = BlazeInterners.newWeakInterner(); + private static final SkyKeyInterner interner = SkyKey.newInterner(); private Key(ImmutableList arg) { super(arg); @@ -56,6 +54,11 @@ static Key create(ImmutableList arg) { public SkyFunctionName functionName() { return NAME; } + + @Override + public SkyKeyInterner getSkyKeyInterner() { + return interner; + } } @Override diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeFdoSupportValue.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeFdoSupportValue.java index b0657dc3c4dabc..ecde8bcac5d907 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeFdoSupportValue.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcSkyframeFdoSupportValue.java @@ -13,8 +13,6 @@ // limitations under the License. package com.google.devtools.build.lib.rules.cpp; -import com.google.common.collect.Interner; -import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.vfs.Path; @@ -42,7 +40,7 @@ public class CcSkyframeFdoSupportValue implements SkyValue { @Immutable @AutoCodec public static class Key implements SkyKey { - private static final Interner interner = BlazeInterners.newWeakInterner(); + private static final SkyKeyInterner interner = SkyKey.newInterner(); private final PathFragment fdoZipPath; @@ -82,6 +80,11 @@ public int hashCode() { public SkyFunctionName functionName() { return SKYFUNCTION; } + + @Override + public SkyKeyInterner getSkyKeyInterner() { + return interner; + } } /** Path of the profile file passed to {@code --fdo_optimize} */ diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQueryDirectPackageProviderFactory.java b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQueryDirectPackageProviderFactory.java index 2d7237742eaec3..5d7e1b2b13f363 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQueryDirectPackageProviderFactory.java +++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQueryDirectPackageProviderFactory.java @@ -19,11 +19,9 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Interner; import com.google.common.collect.LinkedHashMultimap; import com.google.devtools.build.lib.cmdline.Label; import com.google.devtools.build.lib.cmdline.PackageIdentifier; -import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.packages.AdvertisedProviderSet; import com.google.devtools.build.lib.packages.Aspect; import com.google.devtools.build.lib.packages.AspectDefinition; @@ -75,7 +73,7 @@ public class GenQueryDirectPackageProviderFactory implements GenQueryPackageProv */ @AutoCodec static class Key extends AbstractSkyKey.WithCachedHashCode> { - private static final Interner interner = BlazeInterners.newWeakInterner(); + private static final SkyKeyInterner interner = SkyKey.newInterner(); private Key(ImmutableList