diff options
author | janakr <janakr@google.com> | 2018-02-14 14:08:45 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-14 14:10:01 -0800 |
commit | 40d0077016dee31865af5246cbd6b2953d6386b3 (patch) | |
tree | bc61c4057476ecfa5b25b6f37d2aa88bca05b7dd /src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java | |
parent | ae52720bd38f1e1a29dc6d6910e6a0da95eb9236 (diff) |
Start slimming down ToolchainResolutionKey: get rid of BuildConfiguration. The real blocker is PlatformInfo, which is coming.
PiperOrigin-RevId: 185742130
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java index d415ef0078..6a8dcca3d6 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ToolchainResolutionFunction.java @@ -49,7 +49,13 @@ public class ToolchainResolutionFunction implements SkyFunction { throws SkyFunctionException, InterruptedException { ToolchainResolutionKey key = (ToolchainResolutionKey) skyKey.argument(); - BuildConfiguration configuration = key.configuration(); + // This call could be combined with the call below, but this SkyFunction is evaluated so rarely + // it's not worth optimizing. + BuildConfigurationValue value = (BuildConfigurationValue) env.getValue(key.configurationKey()); + if (env.valuesMissing()) { + return null; + } + BuildConfiguration configuration = value.getConfiguration(); // Get all toolchains. RegisteredToolchainsValue toolchains; @@ -57,7 +63,7 @@ public class ToolchainResolutionFunction implements SkyFunction { toolchains = (RegisteredToolchainsValue) env.getValueOrThrow( - RegisteredToolchainsValue.key(configuration), + RegisteredToolchainsValue.key(key.configurationKey()), InvalidToolchainLabelException.class, EvalException.class); if (toolchains == null) { |