Convert ActionLookupKey implementations to directly implement SkyKey, removing the layer of indirection of getting SkyKey out of ActionLookupKey, which uses more memory for no reason. PiperOrigin-RevId: 181658615
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java index 3fdb7a0..8e55e34 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ActionTemplateExpansionFunctionTest.java
@@ -104,8 +104,7 @@ List<Action> actions = evaluate(spawnActionTemplate); assertThat(actions).hasSize(3); - ArtifactOwner owner = ActionTemplateExpansionValue.createActionTemplateExpansionKey( - spawnActionTemplate); + ArtifactOwner owner = ActionTemplateExpansionValue.key(spawnActionTemplate); int i = 0; for (Action action : actions) { String childName = "child" + i;
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java index 6e321c5..aba2931 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTest.java
@@ -321,10 +321,10 @@ } private void setGeneratingActions() throws InterruptedException { - if (evaluator.getExistingValue(OWNER_KEY) == null) { + if (evaluator.getExistingValue(ALL_OWNER) == null) { differencer.inject( ImmutableMap.of( - OWNER_KEY, + ALL_OWNER, new ActionLookupValue( actionKeyContext, ImmutableList.<ActionAnalysisMetadata>copyOf(actions), false))); }
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java index ff83c4a..375c715 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/ArtifactFunctionTestCase.java
@@ -32,7 +32,6 @@ import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; import com.google.devtools.build.skyframe.InMemoryMemoizingEvaluator; -import com.google.devtools.build.skyframe.LegacySkyKey; import com.google.devtools.build.skyframe.MemoizingEvaluator; import com.google.devtools.build.skyframe.RecordingDifferencer; import com.google.devtools.build.skyframe.SequencedRecordingDifferencer; @@ -51,7 +50,6 @@ abstract class ArtifactFunctionTestCase { static final ActionLookupKey ALL_OWNER = new SingletonActionLookupKey(); - static final SkyKey OWNER_KEY = LegacySkyKey.create(SkyFunctions.ACTION_LOOKUP, ALL_OWNER); protected Set<ActionAnalysisMetadata> actions; protected boolean fastDigest = false; @@ -158,13 +156,8 @@ private static class SingletonActionLookupKey extends ActionLookupKey { @Override - protected SkyKey getSkyKeyInternal() { - return OWNER_KEY; - } - - @Override - protected SkyFunctionName getType() { - throw new UnsupportedOperationException(); + public SkyFunctionName functionName() { + return SkyFunctions.CONFIGURED_TARGET; } }
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java index eb2d141..8c77934 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/FilesystemValueCheckerTest.java
@@ -23,7 +23,6 @@ import com.google.common.collect.ImmutableSet; import com.google.common.util.concurrent.Runnables; import com.google.devtools.build.lib.actions.Action; -import com.google.devtools.build.lib.actions.ActionLookupValue; import com.google.devtools.build.lib.actions.ActionLookupValue.ActionLookupKey; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Artifact.SpecialArtifact; @@ -360,13 +359,12 @@ FileSystemUtils.writeContentAsLatin1(out2.getPath(), "fizzlepop"); SkyKey actionLookupKey = - ActionLookupValue.key( - new ActionLookupKey() { - @Override - protected SkyFunctionName getType() { - return SkyFunctionName.FOR_TESTING; - } - }); + new ActionLookupKey() { + @Override + public SkyFunctionName functionName() { + return SkyFunctionName.FOR_TESTING; + } + }; SkyKey actionKey1 = ActionExecutionValue.key(actionLookupKey, 0); SkyKey actionKey2 = ActionExecutionValue.key(actionLookupKey, 1); differencer.inject( @@ -440,13 +438,12 @@ FileSystemUtils.createDirectoryAndParents(last.getPath()); SkyKey actionLookupKey = - ActionLookupValue.key( - new ActionLookupKey() { - @Override - protected SkyFunctionName getType() { - return SkyFunctionName.FOR_TESTING; - } - }); + new ActionLookupKey() { + @Override + public SkyFunctionName functionName() { + return SkyFunctionName.FOR_TESTING; + } + }; SkyKey actionKey1 = ActionExecutionValue.key(actionLookupKey, 0); SkyKey actionKey2 = ActionExecutionValue.key(actionLookupKey, 1); SkyKey actionKeyEmpty = ActionExecutionValue.key(actionLookupKey, 2);
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java index 015b1f3..e497ab7 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeAwareActionTest.java
@@ -389,7 +389,7 @@ null); // Sanity check that our invalidation receiver is working correctly. We'll rely on it again. - SkyKey actionKey = ActionExecutionValue.key(OWNER_KEY, 0); + SkyKey actionKey = ActionExecutionValue.key(ACTION_LOOKUP_KEY, 0); TrackingEvaluationProgressReceiver.EvaluatedEntry evaluatedAction = progressReceiver.getEvalutedEntry(actionKey); assertThat(evaluatedAction).isNotNull();
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java index a6b2483..8e569fc 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java
@@ -81,7 +81,6 @@ import com.google.devtools.build.skyframe.EvaluationProgressReceiver; import com.google.devtools.build.skyframe.EvaluationResult; import com.google.devtools.build.skyframe.InMemoryMemoizingEvaluator; -import com.google.devtools.build.skyframe.LegacySkyKey; import com.google.devtools.build.skyframe.RecordingDifferencer; import com.google.devtools.build.skyframe.SequencedRecordingDifferencer; import com.google.devtools.build.skyframe.SequentialBuildDriver; @@ -109,10 +108,8 @@ * The common code that's shared between various builder tests. */ public abstract class TimestampBuilderTestCase extends FoundationTestCase { - protected static final ActionLookupValue.ActionLookupKey ALL_OWNER = + protected static final ActionLookupValue.ActionLookupKey ACTION_LOOKUP_KEY = new SingletonActionLookupKey(); - protected static final SkyKey OWNER_KEY = - LegacySkyKey.create(SkyFunctions.ACTION_LOOKUP, ALL_OWNER); protected static final Predicate<Action> ALWAYS_EXECUTE_FILTER = Predicates.alwaysTrue(); protected static final String CYCLE_MSG = "Yarrrr, there be a cycle up in here"; @@ -238,10 +235,10 @@ return new Builder() { private void setGeneratingActions() { - if (evaluator.getExistingValue(OWNER_KEY) == null) { + if (evaluator.getExistingValue(ACTION_LOOKUP_KEY) == null) { differencer.inject( ImmutableMap.of( - OWNER_KEY, + ACTION_LOOKUP_KEY, new ActionLookupValue(actionKeyContext, ImmutableList.copyOf(actions), false))); } } @@ -342,7 +339,10 @@ PathFragment execPath = PathFragment.create("out").getRelative(name); Path path = execRoot.getRelative(execPath); return new Artifact( - path, Root.asDerivedRoot(execRoot, execRoot.getRelative("out")), execPath, ALL_OWNER); + path, + Root.asDerivedRoot(execRoot, execRoot.getRelative("out")), + execPath, + ACTION_LOOKUP_KEY); } /** @@ -497,13 +497,8 @@ private static class SingletonActionLookupKey extends ActionLookupValue.ActionLookupKey { @Override - protected SkyKey getSkyKeyInternal() { - return OWNER_KEY; - } - - @Override - protected SkyFunctionName getType() { - throw new UnsupportedOperationException(); + public SkyFunctionName functionName() { + return SkyFunctions.CONFIGURED_TARGET; } }
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java index e0bb1f7..3846003 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactBuildTest.java
@@ -1182,7 +1182,10 @@ PathFragment execPath = PathFragment.create("out").getRelative(name); Path path = execRoot.getRelative(execPath); return new SpecialArtifact( - path, Root.asDerivedRoot(execRoot, execRoot.getRelative("out")), execPath, ALL_OWNER, + path, + Root.asDerivedRoot(execRoot, execRoot.getRelative("out")), + execPath, + ACTION_LOOKUP_KEY, SpecialArtifactType.TREE); }
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java index 3e156be..0f346d6 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TreeArtifactMetadataTest.java
@@ -224,10 +224,10 @@ } private void setGeneratingActions() throws InterruptedException { - if (evaluator.getExistingValue(OWNER_KEY) == null) { + if (evaluator.getExistingValue(ALL_OWNER) == null) { differencer.inject( ImmutableMap.of( - OWNER_KEY, + ALL_OWNER, new ActionLookupValue( actionKeyContext, ImmutableList.<ActionAnalysisMetadata>copyOf(actions), false))); }