Add a "nonce version" fingerprint to ActionLookupValue, potentially populated for the ActionLookupValues that need it: *ConfiguredTargetValue and AspectValue. These need it because they contain objects that use reference equality for comparisons (notably, CcLinkingParams). Following an idea coming from shahan@.
PiperOrigin-RevId: 231319823
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetValue.java
index a4532c8..46e7d4b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetValue.java
@@ -70,4 +70,9 @@
* called.
*/
void clear(boolean clearEverything);
+
+ @Override
+ default boolean mustBeReferenceComparedOnRecomputation() {
+ return true;
+ }
}