diff options
author | 2016-03-03 08:08:50 +0000 | |
---|---|---|
committer | 2016-03-03 15:27:55 +0000 | |
commit | f745e99db7632cfb2145b6926f961e85f9084bc5 (patch) | |
tree | fbf6faf5c3bd701d551b0f27a2a04ab475a07ee9 /src/main/java/com/google/devtools/build/lib/skyframe | |
parent | 9b88920b70a1c0fafc5865b370d90a80ad7cae70 (diff) |
Use static creation method for SkyKey. This allows interning SkyKeys as they are created, as opposed to when they are requested from the ParallelEvaluator. That delay can lead to large memory spikes and churn.
--
MOS_MIGRATED_REVID=116224565
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
45 files changed, 98 insertions, 85 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupValue.java index fa0f17558c..27430e9d7b 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ASTFileLookupValue.java @@ -95,6 +95,6 @@ abstract class ASTFileLookupValue implements SkyValue { } static SkyKey key(Label astFileLabel) { - return new SkyKey(SkyFunctions.AST_FILE_LOOKUP, astFileLabel); + return SkyKey.create(SkyFunctions.AST_FILE_LOOKUP, astFileLabel); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java index b0b9c51c42..25a4339f2b 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java @@ -129,7 +129,7 @@ public class ActionExecutionValue implements SkyValue { @ThreadSafe @VisibleForTesting public static SkyKey key(Action action) { - return new SkyKey(SkyFunctions.ACTION_EXECUTION, action); + return SkyKey.create(SkyFunctions.ACTION_EXECUTION, action); } /** diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionLookupValue.java index 27418c5cf7..a78b6a4810 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionLookupValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionLookupValue.java @@ -105,7 +105,7 @@ public class ActionLookupValue implements SkyValue { * <p>Subclasses may override if the value key contents should not be the key itself. */ SkyKey getSkyKey() { - return new SkyKey(getType(), this); + return SkyKey.create(getType(), this); } } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactValue.java index 8114ba9ebc..d9a51504cb 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactValue.java @@ -41,9 +41,11 @@ public abstract class ArtifactValue implements SkyValue { @ThreadSafe public static SkyKey key(Artifact artifact, boolean isMandatory) { - return new SkyKey(SkyFunctions.ARTIFACT, artifact.isSourceArtifact() - ? new OwnedArtifact(artifact, isMandatory) - : new OwnedArtifact(artifact)); + return SkyKey.create( + SkyFunctions.ARTIFACT, + artifact.isSourceArtifact() + ? new OwnedArtifact(artifact, isMandatory) + : new OwnedArtifact(artifact)); } private static final Function<Artifact, SkyKey> TO_MANDATORY_KEY = diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletionValue.java index 5f008f7ff2..22b0ee042f 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletionValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectCompletionValue.java @@ -40,7 +40,7 @@ public class AspectCompletionValue implements SkyValue { new Function<AspectValue, SkyKey>() { @Override public SkyKey apply(AspectValue aspectValue) { - return new SkyKey(SkyFunctions.ASPECT_COMPLETION, aspectValue.getKey()); + return SkyKey.create(SkyFunctions.ASPECT_COMPLETION, aspectValue.getKey()); } }); } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java index f67ae19eb0..43bc28746c 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectValue.java @@ -280,14 +280,14 @@ public final class AspectValue extends ActionLookupValue { BuildConfiguration baseConfiguration, AspectClass aspectFactory, AspectParameters additionalConfiguration) { - return new SkyKey( + return SkyKey.create( SkyFunctions.ASPECT, new AspectKey( label, aspectConfiguration, baseConfiguration, aspectFactory, additionalConfiguration)); } public static SkyKey key(AspectValueKey aspectKey) { - return new SkyKey(aspectKey.getType(), aspectKey); + return SkyKey.create(aspectKey.getType(), aspectKey); } public static AspectKey createAspectKey( diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesValue.java index 99d954dc76..b5c942015e 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BlacklistedPackagePrefixesValue.java @@ -26,7 +26,7 @@ public class BlacklistedPackagePrefixesValue implements SkyValue { private final ImmutableSet<PathFragment> patterns; private static final SkyKey BLACKLIST_KEY = - new SkyKey(SkyFunctions.BLACKLISTED_PACKAGE_PREFIXES, ""); + SkyKey.create(SkyFunctions.BLACKLISTED_PACKAGE_PREFIXES, ""); public BlacklistedPackagePrefixesValue(ImmutableSet<PathFragment> exclusions) { this.patterns = Preconditions.checkNotNull(exclusions); diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java index 8591dbd4a4..9bd14e8fe2 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildConfigurationValue.java @@ -51,8 +51,7 @@ public class BuildConfigurationValue implements SkyValue { @ThreadSafe public static SkyKey key(Set<Class<? extends BuildConfiguration.Fragment>> fragments, BuildOptions buildOptions) { - return new SkyKey(SkyFunctions.BUILD_CONFIGURATION, - new Key(fragments, buildOptions, true)); + return SkyKey.create(SkyFunctions.BUILD_CONFIGURATION, new Key(fragments, buildOptions, true)); } /** @@ -66,8 +65,7 @@ public class BuildConfigurationValue implements SkyValue { public static SkyKey disabledActionsKey( Set<Class<? extends BuildConfiguration.Fragment>> fragments, BuildOptions buildOptions) { - return new SkyKey(SkyFunctions.BUILD_CONFIGURATION, - new Key(fragments, buildOptions, false)); + return SkyKey.create(SkyFunctions.BUILD_CONFIGURATION, new Key(fragments, buildOptions, false)); } static final class Key implements Serializable { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ChainUniquenessUtils.java b/src/main/java/com/google/devtools/build/lib/skyframe/ChainUniquenessUtils.java index 82f4c559e8..dfff25096b 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ChainUniquenessUtils.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ChainUniquenessUtils.java @@ -33,7 +33,7 @@ class ChainUniquenessUtils { */ static SkyKey key(SkyFunctionName functionName, ImmutableList<? extends Object> chain) { Preconditions.checkState(!chain.isEmpty()); - return new SkyKey(functionName, canonicalize(chain)); + return SkyKey.create(functionName, canonicalize(chain)); } private static ImmutableList<Object> canonicalize(ImmutableList<? extends Object> cycle) { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CollectPackagesUnderDirectoryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/CollectPackagesUnderDirectoryValue.java index f01550999d..1a431e2ca0 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/CollectPackagesUnderDirectoryValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/CollectPackagesUnderDirectoryValue.java @@ -115,6 +115,6 @@ public class CollectPackagesUnderDirectoryValue implements SkyValue { } static SkyKey key(RecursivePkgKey recursivePkgKey) { - return new SkyKey(SkyFunctions.COLLECT_PACKAGES_UNDER_DIRECTORY, recursivePkgKey); + return SkyKey.create(SkyFunctions.COLLECT_PACKAGES_UNDER_DIRECTORY, recursivePkgKey); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionValue.java index 90c200c4a1..eb5f173c25 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationCollectionValue.java @@ -44,7 +44,8 @@ public class ConfigurationCollectionValue implements SkyValue { @ThreadSafe public static SkyKey key(BuildOptions buildOptions, ImmutableSet<String> multiCpu) { - return new SkyKey(SkyFunctions.CONFIGURATION_COLLECTION, + return SkyKey.create( + SkyFunctions.CONFIGURATION_COLLECTION, new ConfigurationCollectionKey(buildOptions, multiCpu)); } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java index 9db7f72662..43d6c279a8 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfigurationFragmentValue.java @@ -56,7 +56,8 @@ public class ConfigurationFragmentValue implements SkyValue { BuildConfiguration.getOptionsClasses( ImmutableList.<Class<? extends BuildConfiguration.Fragment>>of(fragmentType), ruleClassProvider)); - return new SkyKey(SkyFunctions.CONFIGURATION_FRAGMENT, + return SkyKey.create( + SkyFunctions.CONFIGURATION_FRAGMENT, new ConfigurationFragmentKey(optionsKey, fragmentType)); } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java index 0653f331ce..ffee11cffb 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ContainingPackageLookupValue.java @@ -39,7 +39,7 @@ public abstract class ContainingPackageLookupValue implements SkyValue { public static SkyKey key(PackageIdentifier id) { Preconditions.checkArgument(!id.getPackageFragment().isAbsolute(), id); - return new SkyKey(SkyFunctions.CONTAINING_PACKAGE_LOOKUP, id); + return SkyKey.create(SkyFunctions.CONTAINING_PACKAGE_LOOKUP, id); } public static ContainingPackage withContainingPackage(PackageIdentifier pkgId, Path root) { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java index 66dc16973a..44722b563e 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/CoverageReportValue.java @@ -29,7 +29,8 @@ public class CoverageReportValue extends ActionLookupValue { private final ImmutableSet<Artifact> coverageReportArtifacts; // There should only ever be one CoverageReportValue value in the graph. - public static final SkyKey SKY_KEY = new SkyKey(SkyFunctions.COVERAGE_REPORT, "COVERAGE_REPORT"); + public static final SkyKey SKY_KEY = + SkyKey.create(SkyFunctions.COVERAGE_REPORT, "COVERAGE_REPORT"); public static final ArtifactOwner ARTIFACT_OWNER = new CoverageReportKey(); public CoverageReportValue(ImmutableSet<Artifact> coverageReportArtifacts, diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateValue.java index cf94b59304..34b20225db 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingStateValue.java @@ -57,7 +57,7 @@ public final class DirectoryListingStateValue implements SkyValue { @ThreadSafe public static SkyKey key(RootedPath rootedPath) { - return new SkyKey(SkyFunctions.DIRECTORY_LISTING_STATE, rootedPath); + return SkyKey.create(SkyFunctions.DIRECTORY_LISTING_STATE, rootedPath); } /** diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingValue.java index 8822cdca3c..fd02f4c493 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/DirectoryListingValue.java @@ -56,7 +56,7 @@ public abstract class DirectoryListingValue implements SkyValue { */ @ThreadSafe static SkyKey key(RootedPath directoryUnderRoot) { - return new SkyKey(SkyFunctions.DIRECTORY_LISTING, directoryUnderRoot); + return SkyKey.create(SkyFunctions.DIRECTORY_LISTING, directoryUnderRoot); } static DirectoryListingValue value(RootedPath dirRootedPath, FileValue dirFileValue, diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalPackageFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalPackageFunction.java index 283e1a64ba..eae3ac789b 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ExternalPackageFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ExternalPackageFunction.java @@ -60,6 +60,6 @@ public class ExternalPackageFunction implements SkyFunction { * Returns a SkyKey to find the WORKSPACE file at the given path. */ public static SkyKey key(RootedPath workspacePath) { - return new SkyKey(SkyFunctions.EXTERNAL_PACKAGE, workspacePath); + return SkyKey.create(SkyFunctions.EXTERNAL_PACKAGE, workspacePath); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FileStateValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/FileStateValue.java index 459d1caa48..4e908461cc 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/FileStateValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/FileStateValue.java @@ -103,7 +103,7 @@ public abstract class FileStateValue implements SkyValue { @VisibleForTesting @ThreadSafe public static SkyKey key(RootedPath rootedPath) { - return new SkyKey(SkyFunctions.FILE_STATE, rootedPath); + return SkyKey.create(SkyFunctions.FILE_STATE, rootedPath); } public abstract Type getType(); diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FileValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/FileValue.java index e10cf7725c..d4ce6caa77 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/FileValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/FileValue.java @@ -119,7 +119,7 @@ public abstract class FileValue implements SkyValue { */ @ThreadSafe public static SkyKey key(RootedPath rootedPath) { - return new SkyKey(SkyFunctions.FILE, rootedPath); + return SkyKey.create(SkyFunctions.FILE, rootedPath); } /** diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java index c72a4acf7d..d628da2bb8 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/FilesetEntryValue.java @@ -44,7 +44,7 @@ public final class FilesetEntryValue implements SkyValue { } public static SkyKey key(FilesetTraversalParams params) { - return new SkyKey(SkyFunctions.FILESET_ENTRY, params); + return SkyKey.create(SkyFunctions.FILESET_ENTRY, params); } @Override diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/GlobValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/GlobValue.java index 5e877bd078..5f8eaa90ea 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/GlobValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/GlobValue.java @@ -102,7 +102,8 @@ public final class GlobValue implements SkyValue { @ThreadSafe static SkyKey internalKey(PackageIdentifier packageId, Path packageRoot, PathFragment subdir, String pattern, boolean excludeDirs) { - return new SkyKey(SkyFunctions.GLOB, + return SkyKey.create( + SkyFunctions.GLOB, new GlobDescriptor(packageId, packageRoot, subdir, pattern, excludeDirs)); } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorFunction.java index e265e4416f..b277321342 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageErrorFunction.java @@ -39,7 +39,7 @@ import javax.annotation.Nullable; */ public class PackageErrorFunction implements SkyFunction { public static SkyKey key(PackageIdentifier packageIdentifier) { - return new SkyKey(SkyFunctions.PACKAGE_ERROR, packageIdentifier); + return SkyKey.create(SkyFunctions.PACKAGE_ERROR, packageIdentifier); } @Nullable diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java index d6fdcc00f2..816ab4fdcc 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageLookupValue.java @@ -97,7 +97,7 @@ public abstract class PackageLookupValue implements SkyValue { } public static SkyKey key(PackageIdentifier pkgIdentifier) { - return new SkyKey(SkyFunctions.PACKAGE_LOOKUP, pkgIdentifier); + return SkyKey.create(SkyFunctions.PACKAGE_LOOKUP, pkgIdentifier); } private static class SuccessfulPackageLookupValue extends PackageLookupValue { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageValue.java index 01e4af54b4..840a4c8ec2 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageValue.java @@ -54,7 +54,7 @@ public class PackageValue implements NotComparableSkyValue { } public static SkyKey key(PackageIdentifier pkgIdentifier) { - return new SkyKey(SkyFunctions.PACKAGE, pkgIdentifier); + return SkyKey.create(SkyFunctions.PACKAGE, pkgIdentifier); } public static List<SkyKey> keys(Iterable<PackageIdentifier> pkgIdentifiers) { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetValue.java index 8e2551ff76..4ef9ae33e6 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PostConfiguredTargetValue.java @@ -40,7 +40,7 @@ class PostConfiguredTargetValue implements SkyValue { } public static SkyKey key(ConfiguredTargetKey lac) { - return new SkyKey(SkyFunctions.POST_CONFIGURED_TARGET, lac); + return SkyKey.create(SkyFunctions.POST_CONFIGURED_TARGET, lac); } public ConfiguredTarget getCt() { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java index 5ae849c26b..9aab8b11de 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrecomputedValue.java @@ -74,38 +74,38 @@ public final class PrecomputedValue implements SkyValue { } public static final Precomputed<String> DEFAULTS_PACKAGE_CONTENTS = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "default_pkg")); + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "default_pkg")); public static final Precomputed<PathFragment> BLACKLISTED_PACKAGE_PREFIXES_FILE = - new Precomputed<>( - new SkyKey(SkyFunctions.PRECOMPUTED, "blacklisted_package_prefixes_file")); + new Precomputed<>( + SkyKey.create(SkyFunctions.PRECOMPUTED, "blacklisted_package_prefixes_file")); public static final Precomputed<RuleVisibility> DEFAULT_VISIBILITY = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "default_visibility")); + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "default_visibility")); static final Precomputed<UUID> BUILD_ID = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "build_id")); + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "build_id")); static final Precomputed<WorkspaceStatusAction> WORKSPACE_STATUS_KEY = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "workspace_status_action")); + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "workspace_status_action")); - static final Precomputed<ImmutableList <Action>> COVERAGE_REPORT_KEY = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "coverage_report_actions")); + static final Precomputed<ImmutableList<Action>> COVERAGE_REPORT_KEY = + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "coverage_report_actions")); static final Precomputed<TopLevelArtifactContext> TOP_LEVEL_CONTEXT = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "top_level_context")); + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "top_level_context")); public static final Precomputed<Map<BuildInfoKey, BuildInfoFactory>> BUILD_INFO_FACTORIES = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "build_info_factories")); + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "build_info_factories")); static final Precomputed<BlazeDirectories> BLAZE_DIRECTORIES = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "blaze_directories")); + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "blaze_directories")); static final Precomputed<ImmutableMap<Action, ConflictException>> BAD_ACTIONS = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "bad_actions")); + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "bad_actions")); public static final Precomputed<PathPackageLocator> PATH_PACKAGE_LOCATOR = - new Precomputed<>(new SkyKey(SkyFunctions.PRECOMPUTED, "path_package_locator")); + new Precomputed<>(SkyKey.create(SkyFunctions.PRECOMPUTED, "path_package_locator")); private final Object value; diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java index 48ef204cfa..423d07eb0d 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternValue.java @@ -206,7 +206,7 @@ public class PrepareDepsOfPatternValue implements SkyValue { @Override public SkyKey getSkyKey() throws TargetParsingException { - return new SkyKey(SkyFunctions.PREPARE_DEPS_OF_PATTERN, targetPatternKey); + return SkyKey.create(SkyFunctions.PREPARE_DEPS_OF_PATTERN, targetPatternKey); } @Override diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsValue.java index 5d73904a3e..81a65d3e5a 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfPatternsValue.java @@ -55,8 +55,8 @@ public final class PrepareDepsOfPatternsValue implements SkyValue { @ThreadSafe public static SkyKey key(ImmutableList<String> patterns, String offset) { - return new SkyKey(SkyFunctions.PREPARE_DEPS_OF_PATTERNS, - new TargetPatternSequence(patterns, offset)); + return SkyKey.create( + SkyFunctions.PREPARE_DEPS_OF_PATTERNS, new TargetPatternSequence(patterns, offset)); } /** The argument value for {@link SkyKey}s of {@link PrepareDepsOfPatternsFunction}. */ diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java index 136a94bcd4..c937263614 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/PrepareDepsOfTargetsUnderDirectoryValue.java @@ -61,10 +61,10 @@ public final class PrepareDepsOfTargetsUnderDirectoryValue implements SkyValue { @ThreadSafe public static SkyKey key(RepositoryName repository, RootedPath rootedPath, ImmutableSet<PathFragment> excludedPaths, FilteringPolicy filteringPolicy) { - return new SkyKey(SkyFunctions.PREPARE_DEPS_OF_TARGETS_UNDER_DIRECTORY, + return SkyKey.create( + SkyFunctions.PREPARE_DEPS_OF_TARGETS_UNDER_DIRECTORY, new PrepareDepsOfTargetsUnderDirectoryKey( - new RecursivePkgKey(repository, rootedPath, excludedPaths), - filteringPolicy)); + new RecursivePkgKey(repository, rootedPath, excludedPaths), filteringPolicy)); } /** diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java index d79f7b99a1..7f2777c379 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursiveFilesystemTraversalValue.java @@ -105,7 +105,7 @@ public final class RecursiveFilesystemTraversalValue implements SkyValue { } public static SkyKey key(TraversalRequest traversal) { - return new SkyKey(SkyFunctions.RECURSIVE_FILESYSTEM_TRAVERSAL, traversal); + return SkyKey.create(SkyFunctions.RECURSIVE_FILESYSTEM_TRAVERSAL, traversal); } /** The parameters of a file or directory traversal. */ diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java index 891957863b..b318519163 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RecursivePkgValue.java @@ -58,8 +58,8 @@ public class RecursivePkgValue implements SkyValue { @ThreadSafe public static SkyKey key(RepositoryName repositoryName, RootedPath rootedPath, ImmutableSet<PathFragment> excludedPaths) { - return new SkyKey(SkyFunctions.RECURSIVE_PKG, - new RecursivePkgKey(repositoryName, rootedPath, excludedPaths)); + return SkyKey.create( + SkyFunctions.RECURSIVE_PKG, new RecursivePkgKey(repositoryName, rootedPath, excludedPaths)); } public NestedSet<String> getPackages() { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryValue.java index 2f8da11aa2..a33e4e037e 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/RepositoryValue.java @@ -63,6 +63,6 @@ public class RepositoryValue implements SkyValue { } static SkyKey key(RepositoryName repositoryName) { - return new SkyKey(SkyFunctions.REPOSITORY, repositoryName); + return SkyKey.create(SkyFunctions.REPOSITORY, repositoryName); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupValue.java index 278c597290..2fbaf10baa 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupValue.java @@ -93,7 +93,7 @@ public class SkylarkImportLookupValue implements SkyValue { } static SkyKey key(Label importLabel, boolean inWorkspace) { - return new SkyKey( + return SkyKey.create( SkyFunctions.SKYLARK_IMPORTS_LOOKUP, new SkylarkImportLookupKey(importLabel, inWorkspace)); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java index c9bc04a933..94eda0e374 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetCompletionValue.java @@ -37,15 +37,17 @@ public class TargetCompletionValue implements SkyValue { } public static SkyKey key(LabelAndConfiguration labelAndConfiguration) { - return new SkyKey(SkyFunctions.TARGET_COMPLETION, labelAndConfiguration); + return SkyKey.create(SkyFunctions.TARGET_COMPLETION, labelAndConfiguration); } public static Iterable<SkyKey> keys(Collection<ConfiguredTarget> targets) { - return Iterables.transform(targets, new Function<ConfiguredTarget, SkyKey>() { - @Override - public SkyKey apply(ConfiguredTarget ct) { - return new SkyKey(SkyFunctions.TARGET_COMPLETION, new LabelAndConfiguration(ct)); - } - }); + return Iterables.transform( + targets, + new Function<ConfiguredTarget, SkyKey>() { + @Override + public SkyKey apply(ConfiguredTarget ct) { + return SkyKey.create(SkyFunctions.TARGET_COMPLETION, new LabelAndConfiguration(ct)); + } + }); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetMarkerValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetMarkerValue.java index 91f7afb3b4..9c39849040 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetMarkerValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetMarkerValue.java @@ -45,6 +45,6 @@ public final class TargetMarkerValue implements SkyValue { @ThreadSafe public static SkyKey key(Label label) { - return new SkyKey(SkyFunctions.TARGET_MARKER, label); + return SkyKey.create(SkyFunctions.TARGET_MARKER, label); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java index f319e77fb2..0e43191dbc 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternPhaseValue.java @@ -125,8 +125,15 @@ public final class TargetPatternPhaseValue implements SkyValue { public static SkyKey key(ImmutableList<String> targetPatterns, String offset, boolean compileOneDependency, boolean buildTestsOnly, boolean determineTests, @Nullable TestFilter testFilter) { - return new SkyKey(SkyFunctions.TARGET_PATTERN_PHASE, new TargetPatternList( - targetPatterns, offset, compileOneDependency, buildTestsOnly, determineTests, testFilter)); + return SkyKey.create( + SkyFunctions.TARGET_PATTERN_PHASE, + new TargetPatternList( + targetPatterns, + offset, + compileOneDependency, + buildTestsOnly, + determineTests, + testFilter)); } /** diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternValue.java index bbf927792e..f247bdeda6 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TargetPatternValue.java @@ -144,7 +144,7 @@ public final class TargetPatternValue implements SkyValue { !positive, offset, ImmutableSet.<PathFragment>of()); - SkyKey skyKey = new SkyKey(SkyFunctions.TARGET_PATTERN, targetPatternKey); + SkyKey skyKey = SkyKey.create(SkyFunctions.TARGET_PATTERN, targetPatternKey); builder.add(new TargetPatternSkyKeyValue(skyKey)); } return builder.build(); diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionValue.java index eb2cfd4976..4cb899826a 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestCompletionValue.java @@ -32,18 +32,21 @@ public class TestCompletionValue implements SkyValue { private TestCompletionValue() { } public static SkyKey key(LabelAndConfiguration lac, boolean exclusive) { - return new SkyKey(SkyFunctions.TEST_COMPLETION, new TestCompletionKey(lac, exclusive)); + return SkyKey.create(SkyFunctions.TEST_COMPLETION, new TestCompletionKey(lac, exclusive)); } public static Iterable<SkyKey> keys(Collection<ConfiguredTarget> targets, final boolean exclusive) { - return Iterables.transform(targets, new Function<ConfiguredTarget, SkyKey>() { - @Override - public SkyKey apply(ConfiguredTarget ct) { - return new SkyKey(SkyFunctions.TEST_COMPLETION, - new TestCompletionKey(new LabelAndConfiguration(ct), exclusive)); - } - }); + return Iterables.transform( + targets, + new Function<ConfiguredTarget, SkyKey>() { + @Override + public SkyKey apply(ConfiguredTarget ct) { + return SkyKey.create( + SkyFunctions.TEST_COMPLETION, + new TestCompletionKey(new LabelAndConfiguration(ct), exclusive)); + } + }); } static class TestCompletionKey { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestSuiteExpansionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestSuiteExpansionValue.java index 0714f2de36..a7a330f36d 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TestSuiteExpansionValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestSuiteExpansionValue.java @@ -70,7 +70,8 @@ public final class TestSuiteExpansionValue implements SkyValue { */ @ThreadSafe public static SkyKey key(Collection<Label> targets) { - return new SkyKey(SkyFunctions.TEST_SUITE_EXPANSION, + return SkyKey.create( + SkyFunctions.TEST_SUITE_EXPANSION, new TestSuiteExpansion(ImmutableSortedSet.copyOf(targets))); } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TestsInSuiteValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TestsInSuiteValue.java index 81b9346166..0267f4a2bc 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TestsInSuiteValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TestsInSuiteValue.java @@ -68,8 +68,7 @@ final class TestsInSuiteValue implements SkyValue { @ThreadSafe public static SkyKey key(Target testSuite, boolean strict) { Preconditions.checkState(TargetUtils.isTestSuiteRule(testSuite)); - return new SkyKey(SkyFunctions.TESTS_IN_SUITE, - new TestsInSuite((Rule) testSuite, strict)); + return SkyKey.create(SkyFunctions.TESTS_IN_SUITE, new TestsInSuite((Rule) testSuite, strict)); } /** diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java index d7e9358e75..d8e9b26798 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTargetValue.java @@ -170,6 +170,6 @@ public class TransitiveTargetValue implements SkyValue { @ThreadSafe public static SkyKey key(Label label) { - return new SkyKey(SkyFunctions.TRANSITIVE_TARGET, label); + return SkyKey.create(SkyFunctions.TRANSITIVE_TARGET, label); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java index 1de546dedc..59252d8f3f 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalValue.java @@ -13,8 +13,6 @@ // limitations under the License. package com.google.devtools.build.lib.skyframe; -import static com.google.devtools.build.skyframe.SkyKeyInterner.SKY_KEY_INTERNER; - import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.cmdline.Label; @@ -127,7 +125,6 @@ public class TransitiveTraversalValue implements SkyValue { @ThreadSafe public static SkyKey key(Label label) { - // Intern in order to save memory. - return SKY_KEY_INTERNER.intern(new SkyKey(SkyFunctions.TRANSITIVE_TRAVERSAL, label)); + return SkyKey.create(SkyFunctions.TRANSITIVE_TRAVERSAL, label); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTValue.java index 35479fca31..e002765d73 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceASTValue.java @@ -57,7 +57,7 @@ public class WorkspaceASTValue implements SkyValue { } public static SkyKey key(RootedPath path) { - return new SkyKey(SkyFunctions.WORKSPACE_AST, path); + return SkyKey.create(SkyFunctions.WORKSPACE_AST, path); } } diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileValue.java index cb49728cbc..daf578ecf3 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileValue.java @@ -135,7 +135,7 @@ public class WorkspaceFileValue implements SkyValue { } static SkyKey key(RootedPath path, int idx) { - return new SkyKey(SkyFunctions.WORKSPACE_FILE, new WorkspaceFileKey(path, idx)); + return SkyKey.create(SkyFunctions.WORKSPACE_FILE, new WorkspaceFileKey(path, idx)); } public static SkyKey key(RootedPath path) { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java index 6379b5632d..fca72dbc49 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusValue.java @@ -30,7 +30,7 @@ public class WorkspaceStatusValue extends ActionLookupValue { private final Artifact volatileArtifact; // There should only ever be one BuildInfo value in the graph. - public static final SkyKey SKY_KEY = new SkyKey(SkyFunctions.BUILD_INFO, "BUILD_INFO"); + public static final SkyKey SKY_KEY = SkyKey.create(SkyFunctions.BUILD_INFO, "BUILD_INFO"); static final ArtifactOwner ARTIFACT_OWNER = new BuildInfoKey(); public WorkspaceStatusValue(Artifact stableArtifact, Artifact volatileArtifact, |