diff options
author | janakr <janakr@google.com> | 2018-03-08 10:10:08 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-08 10:11:57 -0800 |
commit | 0520ac3348ea2bce7dc4fa75d8fff14bd47046a6 (patch) | |
tree | e60c2ad7f0d800b048c8fada711277a3a34d21bf | |
parent | 55ccf58f9da9847269a42c15e05317aab993d78c (diff) |
Intern CollectTargetsInPackagKey. Bug from https://github.com/bazelbuild/bazel/commit/5fb2a487e53cc3d80e3654d5b63d062f7f70588b.
PiperOrigin-RevId: 188348546
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java index 19c0c1dbf8..173896afae 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/CollectTargetsInPackageValue.java @@ -14,7 +14,9 @@ package com.google.devtools.build.lib.skyframe; import com.google.auto.value.AutoValue; +import com.google.common.collect.Interner; import com.google.devtools.build.lib.cmdline.PackageIdentifier; +import com.google.devtools.build.lib.concurrent.BlazeInterners; import com.google.devtools.build.lib.pkgcache.FilteringPolicy; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.skyframe.SkyFunctionName; @@ -41,12 +43,16 @@ public class CollectTargetsInPackageValue implements SkyValue { @AutoValue @AutoCodec public abstract static class CollectTargetsInPackageKey implements SkyKey { + private static final Interner<CollectTargetsInPackageKey> interner = + BlazeInterners.newWeakInterner(); + @AutoCodec.VisibleForSerialization @AutoCodec.Instantiator static CollectTargetsInPackageKey create( PackageIdentifier packageId, FilteringPolicy filteringPolicy) { - return new AutoValue_CollectTargetsInPackageValue_CollectTargetsInPackageKey( - packageId, filteringPolicy); + return interner.intern( + new AutoValue_CollectTargetsInPackageValue_CollectTargetsInPackageKey( + packageId, filteringPolicy)); } public abstract PackageIdentifier getPackageId(); |