From 18e3f8f24891009ada4da4a2e20e8383df91f0be Mon Sep 17 00:00:00 2001 From: twerth Date: Thu, 9 Aug 2018 23:16:43 -0700 Subject: Use getDoneValues instead of getGraphMap for dump/stat functions. RELNOTES: None PiperOrigin-RevId: 208166562 --- .../lib/skyframe/SequencedSkyframeExecutor.java | 32 +++++++--------------- 1 file changed, 10 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java index 4e4cc54e58..86c54f30b0 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java @@ -761,17 +761,13 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor { @Override public List getRuleStats(ExtendedEventHandler eventHandler) { Map ruleStats = new HashMap<>(); - for (Map.Entry skyKeyAndNodeEntry : - memoizingEvaluator.getGraphMap().entrySet()) { - NodeEntry entry = skyKeyAndNodeEntry.getValue(); - if (entry == null || !entry.isDone()) { - continue; - } - SkyKey key = skyKeyAndNodeEntry.getKey(); + for (Map.Entry skyKeyAndValue : + memoizingEvaluator.getDoneValues().entrySet()) { + SkyValue value = skyKeyAndValue.getValue(); + SkyKey key = skyKeyAndValue.getKey(); SkyFunctionName functionName = key.functionName(); if (functionName.equals(SkyFunctions.CONFIGURED_TARGET)) { - try { - ConfiguredTargetValue ctValue = (ConfiguredTargetValue) entry.getValue(); + ConfiguredTargetValue ctValue = (ConfiguredTargetValue) value; ConfiguredTarget configuredTarget = ctValue.getConfiguredTarget(); if (configuredTarget instanceof RuleConfiguredTarget) { @@ -790,20 +786,13 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor { ruleClass.getKey(), k -> new RuleStat(k, ruleClass.getName(), true)); ruleStat.addRule(ctValue.getNumActions()); } - } catch (InterruptedException e) { - throw new IllegalStateException("No interruption in sequenced evaluation", e); - } } else if (functionName.equals(SkyFunctions.ASPECT)) { - try { - AspectValue aspectValue = (AspectValue) entry.getValue(); + AspectValue aspectValue = (AspectValue) value; AspectClass aspectClass = aspectValue.getAspect().getAspectClass(); RuleStat ruleStat = ruleStats.computeIfAbsent( aspectClass.getKey(), k -> new RuleStat(k, aspectClass.getName(), false)); ruleStat.addRule(aspectValue.getNumActions()); - } catch (InterruptedException e) { - throw new IllegalStateException("No interruption in sequenced evaluation", e); - } } } return new ArrayList<>(ruleStats.values()); @@ -814,13 +803,12 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor { List actionGraphTargets, boolean includeActionCmdLine) throws CommandLineExpansionException { ActionGraphDump actionGraphDump = new ActionGraphDump(actionGraphTargets, includeActionCmdLine); - for (Map.Entry skyKeyAndNodeEntry : - memoizingEvaluator.getGraphMap().entrySet()) { - NodeEntry entry = skyKeyAndNodeEntry.getValue(); - SkyKey key = skyKeyAndNodeEntry.getKey(); + for (Map.Entry skyKeyAndValue : + memoizingEvaluator.getDoneValues().entrySet()) { + SkyKey key = skyKeyAndValue.getKey(); + SkyValue skyValue = skyKeyAndValue.getValue(); SkyFunctionName functionName = key.functionName(); try { - SkyValue skyValue = entry.getValue(); // The skyValue may be null in case analysis of the previous build failed. if (skyValue != null) { if (functionName.equals(SkyFunctions.CONFIGURED_TARGET)) { -- cgit v1.2.3