Rename StarlarkImportLookupFunction and friends

This renames "StarlarkImportLookup*" to "BzlLoad*", and also changes a number of uses of "import" to "load". This helps keep names to a more manageable length and is in line with modern Starlark terminology.

This is refactoring work toward adding a new kind of .bzl loading context, for Bazel-internal .bzl files.

Work toward #11437.

RELNOTES: None
PiperOrigin-RevId: 313240742
diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFileValue.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFileValue.java
index 43c7867..c9b6af9 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFileValue.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFileValue.java
@@ -102,7 +102,7 @@
   private final boolean hasNext;
   private final ImmutableMap<String, Object> bindings;
   private final ImmutableMap<String, Module> loadedModules;
-  private final ImmutableMap<String, Integer> importToChunkMap;
+  private final ImmutableMap<String, Integer> loadToChunkMap;
   private final ImmutableMap<RepositoryName, ImmutableMap<RepositoryName, RepositoryName>>
       repositoryMapping;
   // Mapping of the relative paths of the incrementally updated managed directories
@@ -118,8 +118,8 @@
    * @param pkg Package built by agreggating all parts of the split WORKSPACE file up to this one.
    * @param loadedModules modules loaded by load statements in chunks of the WORKSPACE file up to
    *     this one.
-   * @param importToChunkMap Map of all load statements encountered so far to the chunk they
-   *     initially appeared in.
+   * @param loadToChunkMap Map of all load statements encountered so far to the chunk they initially
+   *     appeared in.
    * @param bindings List of top-level variable bindings from the all parts of the split WORKSPACE
    *     file up to this one. The key is the name of the bindings and the value is the actual
    *     object.
@@ -133,7 +133,7 @@
   public WorkspaceFileValue(
       Package pkg,
       Map<String, Module> loadedModules,
-      Map<String, Integer> importToChunkMap,
+      Map<String, Integer> loadToChunkMap,
       Map<String, Object> bindings,
       RootedPath path,
       int idx,
@@ -146,7 +146,7 @@
     this.hasNext = hasNext;
     this.bindings = ImmutableMap.copyOf(bindings);
     this.loadedModules = ImmutableMap.copyOf(loadedModules);
-    this.importToChunkMap = ImmutableMap.copyOf(importToChunkMap);
+    this.loadToChunkMap = ImmutableMap.copyOf(loadToChunkMap);
     this.repositoryMapping = pkg.getExternalPackageRepositoryMappings();
     this.managedDirectories = managedDirectories;
     this.doNotSymlinkInExecrootPaths = doNotSymlinkInExecrootPaths;
@@ -223,8 +223,8 @@
     return loadedModules;
   }
 
-  public ImmutableMap<String, Integer> getImportToChunkMap() {
-    return importToChunkMap;
+  public ImmutableMap<String, Integer> getLoadToChunkMap() {
+    return loadToChunkMap;
   }
 
   public ImmutableMap<RepositoryName, ImmutableMap<RepositoryName, RepositoryName>>
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
index 28b7ecb..ee6628a 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
@@ -63,9 +63,9 @@
 import com.google.devtools.build.lib.packages.Type.ConversionException;
 import com.google.devtools.build.lib.profiler.memory.CurrentRuleTracker;
 import com.google.devtools.build.lib.skyframe.AspectValueKey.AspectKey;
+import com.google.devtools.build.lib.skyframe.BzlLoadFunction.BzlLoadFailedException;
 import com.google.devtools.build.lib.skyframe.ConfiguredTargetFunction.ConfiguredTargetFunctionException;
 import com.google.devtools.build.lib.skyframe.SkyframeExecutor.BuildViewProvider;
-import com.google.devtools.build.lib.skyframe.StarlarkImportLookupFunction.StarlarkImportFailedException;
 import com.google.devtools.build.lib.util.OrderedSetMultimap;
 import com.google.devtools.build.skyframe.SkyFunction;
 import com.google.devtools.build.skyframe.SkyFunctionException;
@@ -154,18 +154,17 @@
   static StarlarkAspect loadStarlarkAspect(
       Environment env, Label extensionLabel, String starlarkValueName)
       throws AspectCreationException, InterruptedException {
-    SkyKey importFileKey = StarlarkImportLookupValue.packageBzlKey(extensionLabel);
+    SkyKey importFileKey = BzlLoadValue.packageBzlKey(extensionLabel);
     try {
-      StarlarkImportLookupValue starlarkImportLookupValue =
-          (StarlarkImportLookupValue)
-              env.getValueOrThrow(importFileKey, StarlarkImportFailedException.class);
-      if (starlarkImportLookupValue == null) {
+      BzlLoadValue bzlLoadValue =
+          (BzlLoadValue) env.getValueOrThrow(importFileKey, BzlLoadFailedException.class);
+      if (bzlLoadValue == null) {
         Preconditions.checkState(
             env.valuesMissing(), "no Starlark import value for %s", importFileKey);
         return null;
       }
 
-      Object starlarkValue = starlarkImportLookupValue.getModule().getGlobal(starlarkValueName);
+      Object starlarkValue = bzlLoadValue.getModule().getGlobal(starlarkValueName);
       if (starlarkValue == null) {
         throw new ConversionException(
             String.format(
@@ -177,7 +176,7 @@
                 "%s from %s is not an aspect", starlarkValueName, extensionLabel.toString()));
       }
       return (StarlarkAspect) starlarkValue;
-    } catch (StarlarkImportFailedException | ConversionException e) {
+    } catch (BzlLoadFailedException | ConversionException e) {
       env.getListener().handle(Event.error(e.getMessage()));
       throw new AspectCreationException(e.getMessage(), extensionLabel);
     }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BUILD b/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
index ce4b33f..098c34b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BUILD
@@ -27,6 +27,7 @@
         "BazelSkyframeExecutorConstants.java",
         "BuildConfigurationFunction.java",
         "BuildInfoCollectionFunction.java",
+        "BzlLoadFunction.java",
         "CompletionFunction.java",
         "ConfiguredTargetCycleReporter.java",
         "ConfiguredTargetFunction.java",
@@ -72,7 +73,6 @@
         "StarlarkAspectFactory.java",
         "StarlarkBuiltinsFunction.java",
         "StarlarkBuiltinsValue.java",
-        "StarlarkImportLookupFunction.java",
         "TargetCompletionValue.java",
         "TargetCompletor.java",
         "TargetPatternFunction.java",
@@ -127,8 +127,9 @@
         ":blacklisted_package_prefixes_value",
         ":build_configuration_value",
         ":build_info_collection_value",
-        ":cached_starlark_import_lookup_value_and_deps",
-        ":cached_starlark_import_lookup_value_and_deps_builder_factory",
+        ":bzl_load_value",
+        ":cached_bzl_load_value_and_deps",
+        ":cached_bzl_load_value_and_deps_builder_factory",
         ":client_environment_function",
         ":client_environment_value",
         ":collect_packages_under_directory_function",
@@ -198,7 +199,6 @@
         ":skyframe_incremental_build_monitor",
         ":skylark_module_cycle_reporter",
         ":starlark_file_dependency",
-        ":starlark_import_lookup_value",
         ":state_informing_sky_function_environment",
         ":target_pattern_error_function",
         ":target_pattern_phase_value",
@@ -942,10 +942,10 @@
 )
 
 java_library(
-    name = "cached_starlark_import_lookup_value_and_deps",
-    srcs = ["CachedStarlarkImportLookupValueAndDeps.java"],
+    name = "cached_bzl_load_value_and_deps",
+    srcs = ["CachedBzlLoadValueAndDeps.java"],
     deps = [
-        ":starlark_import_lookup_value",
+        ":bzl_load_value",
         "//src/main/java/com/google/devtools/build/skyframe:skyframe-objects",
         "//third_party:auto_value",
         "//third_party:guava",
@@ -953,10 +953,10 @@
 )
 
 java_library(
-    name = "cached_starlark_import_lookup_value_and_deps_builder_factory",
-    srcs = ["CachedStarlarkImportLookupValueAndDepsBuilderFactory.java"],
+    name = "cached_bzl_load_value_and_deps_builder_factory",
+    srcs = ["CachedBzlLoadValueAndDepsBuilderFactory.java"],
     deps = [
-        ":cached_starlark_import_lookup_value_and_deps",
+        ":cached_bzl_load_value_and_deps",
         "//src/main/java/com/google/devtools/build/lib/concurrent",
         "//third_party:guava",
     ],
@@ -2268,9 +2268,9 @@
     srcs = ["StarlarkModuleCycleReporter.java"],
     deps = [
         ":abstract_label_cycle_reporter",
+        ":bzl_load_value",
         ":repository_value",
         ":sky_functions",
-        ":starlark_import_lookup_value",
         "//src/main/java/com/google/devtools/build/lib/cmdline",
         "//src/main/java/com/google/devtools/build/lib/events",
         "//src/main/java/com/google/devtools/build/lib/packages",
@@ -2292,8 +2292,8 @@
 )
 
 java_library(
-    name = "starlark_import_lookup_value",
-    srcs = ["StarlarkImportLookupValue.java"],
+    name = "bzl_load_value",
+    srcs = ["BzlLoadValue.java"],
     deps = [
         ":sky_functions",
         ":starlark_file_dependency",
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkImportLookupFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFunction.java
similarity index 68%
rename from src/main/java/com/google/devtools/build/lib/skyframe/StarlarkImportLookupFunction.java
rename to src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFunction.java
index 16acbe7..c122bdb 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkImportLookupFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFunction.java
@@ -75,12 +75,11 @@
  *
  * <p>Given a {@link Label} referencing a .bzl file, attempts to locate the file and load it. The
  * Label must be absolute, and must not reference the special {@code external} package. If loading
- * is successful, returns a {@link StarlarkImportLookupValue} that encapsulates the loaded {@link
- * Module} and its transitive digest and {@link StarlarkFileDependency} information. If loading is
- * unsuccessful, throws a {@link StarlarkImportLookupFunctionException} that encapsulates the cause
- * of the failure.
+ * is successful, returns a {@link BzlLoadValue} that encapsulates the loaded {@link Module} and its
+ * transitive digest and {@link StarlarkFileDependency} information. If loading is unsuccessful,
+ * throws a {@link BzlLoadFunctionException} that encapsulates the cause of the failure.
  */
-public class StarlarkImportLookupFunction implements SkyFunction {
+public class BzlLoadFunction implements SkyFunction {
 
   // Creates the BazelStarlarkContext and populates the predeclared .bzl symbols.
   private final RuleClassProvider ruleClassProvider;
@@ -92,7 +91,7 @@
 
   private static final GoogleLogger logger = GoogleLogger.forEnclosingClass();
 
-  private StarlarkImportLookupFunction(
+  private BzlLoadFunction(
       RuleClassProvider ruleClassProvider,
       PackageFactory packageFactory,
       ASTFileLookupValueManager astFileLookupValueManager,
@@ -103,31 +102,31 @@
     this.selfInliningManager = selfInliningManager;
   }
 
-  public static StarlarkImportLookupFunction create(
+  public static BzlLoadFunction create(
       RuleClassProvider ruleClassProvider,
       PackageFactory packageFactory,
       DigestHashFunction digestHashFunction,
       Cache<Label, ASTFileLookupValue> astFileLookupValueCache) {
-    return new StarlarkImportLookupFunction(
+    return new BzlLoadFunction(
         ruleClassProvider,
         packageFactory,
-        // When we are not inlining StarlarkImportLookupValue nodes, there is no need to have
-        // separate ASTFileLookupValue nodes for bzl files. Instead we inline them for a strict
-        // memory win, at a small code complexity cost.
+        // When we are not inlining BzlLoadValue nodes, there is no need to have separate
+        // ASTFileLookupValue nodes for bzl files. Instead we inline them for a strict memory win,
+        // at a small code complexity cost.
         //
         // Detailed explanation:
         // (1) The ASTFileLookupValue node for a bzl file is used only for the computation of
-        // that file's StarlarkImportLookupValue node. So there's no concern about duplicate
-        // work that would otherwise get deduped by Skyframe.
+        // that file's BzlLoadValue node. So there's no concern about duplicate work that would
+        // otherwise get deduped by Skyframe.
         // (2) ASTFileLookupValue doesn't have an interesting equality relation, so we have no
         // hope of getting any interesting change-pruning of ASTFileLookupValue nodes. If we
         // had an interesting equality relation that was e.g. able to ignore benign
         // whitespace, then there would be a hypothetical benefit to having separate
         // ASTFileLookupValue nodes (e.g. on incremental builds we'd be able to not re-execute
         // top-level code in bzl files if the file were reparsed to an equivalent AST).
-        // (3) A ASTFileLookupValue node lets us avoid redoing work on a
-        // StarlarkImportLookupFunction Skyframe restart, but we can also achieve that result
-        // ourselves with a cache that persists between Skyframe restarts.
+        // (3) A ASTFileLookupValue node lets us avoid redoing work on a BzlLoadFunction Skyframe
+        // restart, but we can also achieve that result ourselves with a cache that persists between
+        // Skyframe restarts.
         //
         // Therefore, ASTFileLookupValue nodes are wasteful from two perspectives:
         // (a) ASTFileLookupValue contains a StarlarkFile, and that business object is really
@@ -139,72 +138,69 @@
         /*selfInliningManager=*/ null);
   }
 
-  public static StarlarkImportLookupFunction createForInliningSelfForPackageAndWorkspaceNodes(
+  public static BzlLoadFunction createForInliningSelfForPackageAndWorkspaceNodes(
       RuleClassProvider ruleClassProvider,
       PackageFactory packageFactory,
-      int starlarkImportLookupValueCacheSize) {
-    return new StarlarkImportLookupFunction(
+      int bzlLoadValueCacheSize) {
+    return new BzlLoadFunction(
         ruleClassProvider,
         packageFactory,
-        // When we are inlining StarlarkImportLookupValue nodes, then we want to have explicit
-        // ASTFileLookupValue nodes, since now (1) in the comment above doesn't hold. This way we
-        // read and parse each needed bzl file at most once total globally, rather than once per
-        // need (in the worst-case of a StarlarkImportLookupValue inlining cache miss). This is
-        // important in the situation where a bzl file is loaded by a lot of other bzl files or
-        // BUILD files.
+        // When we are inlining BzlLoadValue nodes, then we want to have explicit ASTFileLookupValue
+        // nodes, since now (1) in the comment above doesn't hold. This way we read and parse each
+        // needed bzl file at most once total globally, rather than once per need (in the worst-case
+        // of a BzlLoadValue inlining cache miss). This is important in the situation where a bzl
+        // file is loaded by a lot of other bzl files or BUILD files.
         RegularSkyframeASTFileLookupValueManager.INSTANCE,
-        new SelfInliningManager(starlarkImportLookupValueCacheSize));
+        new SelfInliningManager(bzlLoadValueCacheSize));
   }
 
   @Override
   @Nullable
   public SkyValue compute(SkyKey skyKey, Environment env)
       throws SkyFunctionException, InterruptedException {
-    StarlarkImportLookupValue.Key key = (StarlarkImportLookupValue.Key) skyKey.argument();
+    BzlLoadValue.Key key = (BzlLoadValue.Key) skyKey.argument();
     try {
       return computeInternal(key, env, /*inliningState=*/ null);
     } catch (InconsistentFilesystemException e) {
-      throw new StarlarkImportLookupFunctionException(e, Transience.PERSISTENT);
-    } catch (StarlarkImportFailedException e) {
-      throw new StarlarkImportLookupFunctionException(e);
+      throw new BzlLoadFunctionException(e, Transience.PERSISTENT);
+    } catch (BzlLoadFailedException e) {
+      throw new BzlLoadFunctionException(e);
     }
   }
 
   @Nullable
-  StarlarkImportLookupValue computeWithSelfInlineCallsForPackageAndWorkspaceNodes(
-      StarlarkImportLookupValue.Key key,
+  BzlLoadValue computeWithSelfInlineCallsForPackageAndWorkspaceNodes(
+      BzlLoadValue.Key key,
       Environment env,
-      Map<StarlarkImportLookupValue.Key, CachedStarlarkImportLookupValueAndDeps>
-          visitedDepsInToplevelLoad)
-      throws InconsistentFilesystemException, StarlarkImportFailedException, InterruptedException {
+      Map<BzlLoadValue.Key, CachedBzlLoadValueAndDeps> visitedDepsInToplevelLoad)
+      throws InconsistentFilesystemException, BzlLoadFailedException, InterruptedException {
     Preconditions.checkNotNull(selfInliningManager);
     // See comments in computeWithSelfInlineCallsInternal for an explanation of the visitedNested
     // and visitedDepsInToplevelLoad vars.
-    CachedStarlarkImportLookupValueAndDeps cachedStarlarkImportLookupValueAndDeps =
+    CachedBzlLoadValueAndDeps cachedBzlLoadValueAndDeps =
         computeWithSelfInlineCallsInternal(
             key,
             env,
             // visitedNested must use insertion order to display the correct error.
             /*visitedNested=*/ new LinkedHashSet<>(),
             /*visitedDepsInToplevelLoad=*/ visitedDepsInToplevelLoad);
-    if (cachedStarlarkImportLookupValueAndDeps == null) {
+    if (cachedBzlLoadValueAndDeps == null) {
       return null;
     }
-    return cachedStarlarkImportLookupValueAndDeps.getValue();
+    return cachedBzlLoadValueAndDeps.getValue();
   }
 
   @Nullable
-  private CachedStarlarkImportLookupValueAndDeps computeWithSelfInlineCallsInternal(
-      StarlarkImportLookupValue.Key key,
+  private CachedBzlLoadValueAndDeps computeWithSelfInlineCallsInternal(
+      BzlLoadValue.Key key,
       Environment env,
-      Set<StarlarkImportLookupValue.Key> visitedNested,
-      Map<StarlarkImportLookupValue.Key, CachedStarlarkImportLookupValueAndDeps>
-          visitedDepsInToplevelLoad)
-      throws InconsistentFilesystemException, StarlarkImportFailedException, InterruptedException {
-    // Under StarlarkImportLookupFunction inlining, BUILD and WORKSPACE files are evaluated in
-    // separate Skyframe threads, but all the .bzls transitively loaded by a single package occur in
-    // one thread. All these threads share a global cache in selfInliningManager, so that once any
-    // thread completes evaluation of a .bzl, it needn't be evaluated again (unless it's evicted).
+      Set<BzlLoadValue.Key> visitedNested,
+      Map<BzlLoadValue.Key, CachedBzlLoadValueAndDeps> visitedDepsInToplevelLoad)
+      throws InconsistentFilesystemException, BzlLoadFailedException, InterruptedException {
+    // Under BzlLoadFunction inlining, BUILD and WORKSPACE files are evaluated in separate Skyframe
+    // threads, but all the .bzls transitively loaded by a single package occur in one thread. All
+    // these threads share a global cache in selfInliningManager, so that once any thread completes
+    // evaluation of a .bzl, it needn't be evaluated again (unless it's evicted).
     //
     // If two threads race to evaluate the same .bzl, each one will see a different copy of it, and
     // only one will end up in the global cache. This presents a hazard if the same BUILD or
@@ -223,18 +219,15 @@
     // (We don't need to worry about Starlark values from different packages interacting since
     // inlining is only used for the loading phase.)
     //
-    CachedStarlarkImportLookupValueAndDeps cachedStarlarkImportLookupValueAndDeps =
-        visitedDepsInToplevelLoad.get(key);
-    if (cachedStarlarkImportLookupValueAndDeps == null) {
-      cachedStarlarkImportLookupValueAndDeps =
-          selfInliningManager.starlarkImportLookupValueCache.getIfPresent(key);
-      if (cachedStarlarkImportLookupValueAndDeps != null) {
-        cachedStarlarkImportLookupValueAndDeps.traverse(
-            env::registerDependencies, visitedDepsInToplevelLoad);
+    CachedBzlLoadValueAndDeps cachedBzlLoadValueAndDeps = visitedDepsInToplevelLoad.get(key);
+    if (cachedBzlLoadValueAndDeps == null) {
+      cachedBzlLoadValueAndDeps = selfInliningManager.bzlLoadValueCache.getIfPresent(key);
+      if (cachedBzlLoadValueAndDeps != null) {
+        cachedBzlLoadValueAndDeps.traverse(env::registerDependencies, visitedDepsInToplevelLoad);
       }
     }
-    if (cachedStarlarkImportLookupValueAndDeps != null) {
-      return cachedStarlarkImportLookupValueAndDeps;
+    if (cachedBzlLoadValueAndDeps != null) {
+      return cachedBzlLoadValueAndDeps;
     }
 
     // visitedNested is keyed on the SkyKey, not the label, because it's possible for distinct keys
@@ -243,17 +236,17 @@
     // chunking information. It's unclear whether these particular cycles can arise in practice, but
     // it doesn't hurt to be robust to future changes that may make that possible.
     if (!visitedNested.add(key)) {
-      ImmutableList<StarlarkImportLookupValue.Key> cycle =
+      ImmutableList<BzlLoadValue.Key> cycle =
           CycleUtils.splitIntoPathAndChain(Predicates.equalTo(key), visitedNested).second;
-      throw new StarlarkImportFailedException("Starlark import cycle: " + cycle);
+      throw new BzlLoadFailedException("Starlark load cycle: " + cycle);
     }
 
-    CachedStarlarkImportLookupValueAndDeps.Builder inlineCachedValueBuilder =
-        selfInliningManager.cachedStarlarkImportLookupValueAndDepsBuilderFactory
-            .newCachedStarlarkImportLookupValueAndDepsBuilder();
-    // Use an instrumented Skyframe env to capture Skyframe deps in the
-    // CachedStarlarkImportLookupValueAndDeps. This is transitive but doesn't include deps
-    // underneath recursively loaded .bzls (the recursion uses the unwrapped original env).
+    CachedBzlLoadValueAndDeps.Builder inlineCachedValueBuilder =
+        selfInliningManager.cachedBzlLoadValueAndDepsBuilderFactory
+            .newCachedBzlLoadValueAndDepsBuilder();
+    // Use an instrumented Skyframe env to capture Skyframe deps in the CachedBzlLoadValueAndDeps.
+    // This is transitive but doesn't include deps underneath recursively loaded .bzls (the
+    // recursion uses the unwrapped original env).
     Preconditions.checkState(
         !(env instanceof RecordingSkyFunctionEnvironment),
         "Found nested RecordingSkyFunctionEnvironment but it should have been stripped: %s",
@@ -264,23 +257,22 @@
             inlineCachedValueBuilder::addDep,
             inlineCachedValueBuilder::addDeps,
             inlineCachedValueBuilder::noteException);
-    StarlarkImportLookupValue value =
+    BzlLoadValue value =
         computeInternal(
             key,
             recordingEnv,
             new InliningState(visitedNested, inlineCachedValueBuilder, visitedDepsInToplevelLoad));
-    // All imports traversed, this key can no longer be part of a cycle.
+    // All loads traversed, this key can no longer be part of a cycle.
     Preconditions.checkState(visitedNested.remove(key), key);
 
     if (value != null) {
       inlineCachedValueBuilder.setValue(value);
       inlineCachedValueBuilder.setKey(key);
-      cachedStarlarkImportLookupValueAndDeps = inlineCachedValueBuilder.build();
-      visitedDepsInToplevelLoad.put(key, cachedStarlarkImportLookupValueAndDeps);
-      selfInliningManager.starlarkImportLookupValueCache.put(
-          key, cachedStarlarkImportLookupValueAndDeps);
+      cachedBzlLoadValueAndDeps = inlineCachedValueBuilder.build();
+      visitedDepsInToplevelLoad.put(key, cachedBzlLoadValueAndDeps);
+      selfInliningManager.bzlLoadValueCache.put(key, cachedBzlLoadValueAndDeps);
     }
-    return cachedStarlarkImportLookupValueAndDeps;
+    return cachedBzlLoadValueAndDeps;
   }
 
   public void resetSelfInliningCache() {
@@ -289,7 +281,7 @@
 
   private static ContainingPackageLookupValue getContainingPackageLookupValue(
       Environment env, Label label)
-      throws InconsistentFilesystemException, StarlarkImportFailedException, InterruptedException {
+      throws InconsistentFilesystemException, BzlLoadFailedException, InterruptedException {
     PathFragment dir = Label.getContainingDirectory(label);
     PackageIdentifier dirId =
         PackageIdentifier.create(label.getPackageIdentifier().getRepository(), dir);
@@ -302,7 +294,7 @@
                   BuildFileNotFoundException.class,
                   InconsistentFilesystemException.class);
     } catch (BuildFileNotFoundException e) {
-      throw StarlarkImportFailedException.errorReadingFile(
+      throw BzlLoadFailedException.errorReadingFile(
           label.toPathFragment(), new ErrorReadingStarlarkExtensionException(e));
     }
     if (containingPackageLookupValue == null) {
@@ -310,29 +302,26 @@
     }
     // Ensure the label doesn't cross package boundaries.
     if (!containingPackageLookupValue.hasContainingPackage()) {
-      throw StarlarkImportFailedException.noBuildFile(
+      throw BzlLoadFailedException.noBuildFile(
           label, containingPackageLookupValue.getReasonForNoContainingPackage());
     }
     if (!containingPackageLookupValue
         .getContainingPackageName()
         .equals(label.getPackageIdentifier())) {
-      throw StarlarkImportFailedException.labelCrossesPackageBoundary(
-          label, containingPackageLookupValue);
+      throw BzlLoadFailedException.labelCrossesPackageBoundary(label, containingPackageLookupValue);
     }
     return containingPackageLookupValue;
   }
 
   private static class InliningState {
-    private final Set<StarlarkImportLookupValue.Key> visitedNested;
-    private final CachedStarlarkImportLookupValueAndDeps.Builder inlineCachedValueBuilder;
-    private final Map<StarlarkImportLookupValue.Key, CachedStarlarkImportLookupValueAndDeps>
-        visitedDepsInToplevelLoad;
+    private final Set<BzlLoadValue.Key> visitedNested;
+    private final CachedBzlLoadValueAndDeps.Builder inlineCachedValueBuilder;
+    private final Map<BzlLoadValue.Key, CachedBzlLoadValueAndDeps> visitedDepsInToplevelLoad;
 
     private InliningState(
-        Set<StarlarkImportLookupValue.Key> visitedNested,
-        CachedStarlarkImportLookupValueAndDeps.Builder inlineCachedValueBuilder,
-        Map<StarlarkImportLookupValue.Key, CachedStarlarkImportLookupValueAndDeps>
-            visitedDepsInToplevelLoad) {
+        Set<BzlLoadValue.Key> visitedNested,
+        CachedBzlLoadValueAndDeps.Builder inlineCachedValueBuilder,
+        Map<BzlLoadValue.Key, CachedBzlLoadValueAndDeps> visitedDepsInToplevelLoad) {
       this.visitedNested = visitedNested;
       this.inlineCachedValueBuilder = inlineCachedValueBuilder;
       this.visitedDepsInToplevelLoad = visitedDepsInToplevelLoad;
@@ -343,9 +332,9 @@
   // exception. We are allowed to wrap the thrown exception and rethrow it for any calling functions
   // to handle though.
   @Nullable
-  private StarlarkImportLookupValue computeInternal(
-      StarlarkImportLookupValue.Key key, Environment env, @Nullable InliningState inliningState)
-      throws InconsistentFilesystemException, StarlarkImportFailedException, InterruptedException {
+  private BzlLoadValue computeInternal(
+      BzlLoadValue.Key key, Environment env, @Nullable InliningState inliningState)
+      throws InconsistentFilesystemException, BzlLoadFailedException, InterruptedException {
     Label label = key.getLabel();
     PathFragment filePath = label.toPathFragment();
 
@@ -363,20 +352,18 @@
     try {
       astLookupValue = astFileLookupValueManager.getASTFileLookupValue(label, env);
     } catch (ErrorReadingStarlarkExtensionException e) {
-      throw StarlarkImportFailedException.errorReadingFile(filePath, e);
+      throw BzlLoadFailedException.errorReadingFile(filePath, e);
     }
     if (astLookupValue == null) {
       return null;
     }
 
-    StarlarkImportLookupValue result = null;
+    BzlLoadValue result = null;
     try {
       result =
           computeInternalWithAst(
               key, filePath, starlarkSemantics, astLookupValue, env, inliningState);
-    } catch (InconsistentFilesystemException
-        | StarlarkImportFailedException
-        | InterruptedException e) {
+    } catch (InconsistentFilesystemException | BzlLoadFailedException | InterruptedException e) {
       astFileLookupValueManager.doneWithASTFileLookupValue(label);
       throw e;
     }
@@ -388,23 +375,23 @@
   }
 
   @Nullable
-  private StarlarkImportLookupValue computeInternalWithAst(
-      StarlarkImportLookupValue.Key key,
+  private BzlLoadValue computeInternalWithAst(
+      BzlLoadValue.Key key,
       PathFragment filePath,
       StarlarkSemantics starlarkSemantics,
       ASTFileLookupValue astLookupValue,
       Environment env,
       @Nullable InliningState inliningState)
-      throws InconsistentFilesystemException, StarlarkImportFailedException, InterruptedException {
+      throws InconsistentFilesystemException, BzlLoadFailedException, InterruptedException {
     Label label = key.getLabel();
 
     if (!astLookupValue.lookupSuccessful()) {
-      // Starlark import files must exist.
-      throw new StarlarkImportFailedException(astLookupValue.getError());
+      // Starlark code must exist.
+      throw new BzlLoadFailedException(astLookupValue.getError());
     }
     StarlarkFile file = astLookupValue.getAST();
     if (!file.ok()) {
-      throw StarlarkImportFailedException.skylarkErrors(filePath);
+      throw BzlLoadFailedException.skylarkErrors(filePath);
     }
 
     // Process the load statements in the file,
@@ -417,25 +404,25 @@
         getLoadLabels(env.getListener(), file, label.getPackageIdentifier(), repoMapping);
     if (loads == null) {
       // malformed load statements
-      throw StarlarkImportFailedException.skylarkErrors(filePath);
+      throw BzlLoadFailedException.skylarkErrors(filePath);
     }
 
     // Compute Skyframe key for each label in 'loads'.
-    List<StarlarkImportLookupValue.Key> loadKeys = Lists.newArrayListWithExpectedSize(loads.size());
+    List<BzlLoadValue.Key> loadKeys = Lists.newArrayListWithExpectedSize(loads.size());
     for (Pair<String, Label> load : loads) {
       loadKeys.add(key.getKeyForLoad(load.second));
     }
 
     // Load .bzl modules in parallel.
-    List<StarlarkImportLookupValue> starlarkImports =
+    List<BzlLoadValue> bzlLoads =
         inliningState == null
-            ? computeStarlarkImportsNoInlining(env, loadKeys, file.getStartLocation())
-            : computeStarlarkImportsWithSelfInlining(env, loadKeys, label, inliningState);
-    if (starlarkImports == null) {
+            ? computeBzlLoadsNoInlining(env, loadKeys, file.getStartLocation())
+            : computeBzlLoadsWithSelfInlining(env, loadKeys, label, inliningState);
+    if (bzlLoads == null) {
       return null; // Skyframe deps unavailable
     }
 
-    // Process the loaded imports.
+    // Process the loaded modules.
     //
     // Compute a digest of the file itself plus the transitive hashes of the modules it directly
     // loads. Loop iteration order matches the source order of load statements.
@@ -446,7 +433,7 @@
         ImmutableList.builderWithExpectedSize(loads.size());
     for (int i = 0; i < loads.size(); i++) {
       String loadString = loads.get(i).first;
-      StarlarkImportLookupValue v = starlarkImports.get(i);
+      BzlLoadValue v = bzlLoads.get(i);
       loadedModules.put(loadString, v.getModule());
       fileDependencies.add(v.getDependency());
       fp.addBytes(v.getTransitiveDigest());
@@ -454,7 +441,7 @@
     byte[] transitiveDigest = fp.digestAndReset();
 
     // executeModule does not request values from the Environment. It may post events to the
-    // Environment, but events do not matter when caching StarlarkImportLookupValues.
+    // Environment, but events do not matter when caching BzlLoadValues.
     Module module =
         executeModule(
             file,
@@ -463,23 +450,22 @@
             loadedModules,
             starlarkSemantics,
             env,
-            /*inWorkspace=*/ key instanceof StarlarkImportLookupValue.WorkspaceBzlKey,
+            /*inWorkspace=*/ key instanceof BzlLoadValue.WorkspaceBzlKey,
             repoMapping);
-    StarlarkImportLookupValue result =
-        new StarlarkImportLookupValue(
+    BzlLoadValue result =
+        new BzlLoadValue(
             module, transitiveDigest, new StarlarkFileDependency(label, fileDependencies.build()));
     return result;
   }
 
   private static ImmutableMap<RepositoryName, RepositoryName> getRepositoryMapping(
-      StarlarkImportLookupValue.Key key, Environment env) throws InterruptedException {
+      BzlLoadValue.Key key, Environment env) throws InterruptedException {
     Label enclosingFileLabel = key.getLabel();
 
     ImmutableMap<RepositoryName, RepositoryName> repositoryMapping;
-    if (key instanceof StarlarkImportLookupValue.WorkspaceBzlKey) {
+    if (key instanceof BzlLoadValue.WorkspaceBzlKey) {
       // Still during workspace file evaluation
-      StarlarkImportLookupValue.WorkspaceBzlKey workspaceBzlKey =
-          (StarlarkImportLookupValue.WorkspaceBzlKey) key;
+      BzlLoadValue.WorkspaceBzlKey workspaceBzlKey = (BzlLoadValue.WorkspaceBzlKey) key;
       if (workspaceBzlKey.getWorkspaceChunk() == 0) {
         // There is no previous workspace chunk
         repositoryMapping = ImmutableMap.of();
@@ -569,53 +555,48 @@
   }
 
   /**
-   * Compute the StarlarkImportLookupValue for all given keys using vanilla Skyframe evaluation,
-   * returning {@code null} if Skyframe deps were missing and have been requested.
+   * Compute the BzlLoadValue for all given keys using vanilla Skyframe evaluation, returning {@code
+   * null} if Skyframe deps were missing and have been requested.
    */
   @Nullable
-  private static List<StarlarkImportLookupValue> computeStarlarkImportsNoInlining(
-      Environment env, List<StarlarkImportLookupValue.Key> keys, Location locationForErrors)
-      throws StarlarkImportFailedException, InterruptedException {
-    List<StarlarkImportLookupValue> starlarkImports =
-        Lists.newArrayListWithExpectedSize(keys.size());
-    Map<SkyKey, ValueOrException<StarlarkImportFailedException>> values =
-        env.getValuesOrThrow(keys, StarlarkImportFailedException.class);
+  private static List<BzlLoadValue> computeBzlLoadsNoInlining(
+      Environment env, List<BzlLoadValue.Key> keys, Location locationForErrors)
+      throws BzlLoadFailedException, InterruptedException {
+    List<BzlLoadValue> bzlLoads = Lists.newArrayListWithExpectedSize(keys.size());
+    Map<SkyKey, ValueOrException<BzlLoadFailedException>> values =
+        env.getValuesOrThrow(keys, BzlLoadFailedException.class);
     // Uses same order as load()s in the file. Order matters since we report the first error.
-    for (StarlarkImportLookupValue.Key key : keys) {
+    for (BzlLoadValue.Key key : keys) {
       try {
-        starlarkImports.add((StarlarkImportLookupValue) values.get(key).get());
-      } catch (StarlarkImportFailedException exn) {
-        throw new StarlarkImportFailedException(
+        bzlLoads.add((BzlLoadValue) values.get(key).get());
+      } catch (BzlLoadFailedException exn) {
+        throw new BzlLoadFailedException(
             "in " + locationForErrors.file() + ": " + exn.getMessage());
       }
     }
-    return env.valuesMissing() ? null : starlarkImports;
+    return env.valuesMissing() ? null : bzlLoads;
   }
 
   /**
-   * Compute the StarlarkImportLookupValue for all given keys by reusing this instance of the
-   * StarlarkImportLookupFunction, bypassing traditional Skyframe evaluation, returning {@code null}
-   * if Skyframe deps were missing and have been requested.
+   * Compute the BzlLoadValue for all given keys by reusing this instance of the BzlLoadFunction,
+   * bypassing traditional Skyframe evaluation, returning {@code null} if Skyframe deps were missing
+   * and have been requested.
    */
   @Nullable
-  private List<StarlarkImportLookupValue> computeStarlarkImportsWithSelfInlining(
-      Environment env,
-      List<StarlarkImportLookupValue.Key> keys,
-      Label fileLabel,
-      InliningState inliningState)
-      throws InterruptedException, StarlarkImportFailedException, InconsistentFilesystemException {
+  private List<BzlLoadValue> computeBzlLoadsWithSelfInlining(
+      Environment env, List<BzlLoadValue.Key> keys, Label fileLabel, InliningState inliningState)
+      throws InterruptedException, BzlLoadFailedException, InconsistentFilesystemException {
     Preconditions.checkState(
         env instanceof RecordingSkyFunctionEnvironment,
-        "Expected to be recording dep requests when inlining StarlarkImportLookupFunction: %s",
+        "Expected to be recording dep requests when inlining BzlLoadFunction: %s",
         fileLabel);
     Environment strippedEnv = ((RecordingSkyFunctionEnvironment) env).getDelegate();
-    List<StarlarkImportLookupValue> starlarkImports =
-        Lists.newArrayListWithExpectedSize(keys.size());
+    List<BzlLoadValue> bzlLoads = Lists.newArrayListWithExpectedSize(keys.size());
     Exception deferredException = null;
     boolean valuesMissing = false;
-    // NOTE: Iterating over imports in the order listed in the file.
-    for (StarlarkImportLookupValue.Key key : keys) {
-      CachedStarlarkImportLookupValueAndDeps cachedValue;
+    // NOTE: Iterating over loads in the order listed in the file.
+    for (BzlLoadValue.Key key : keys) {
+      CachedBzlLoadValueAndDeps cachedValue;
       try {
         cachedValue =
             computeWithSelfInlineCallsInternal(
@@ -623,33 +604,33 @@
                 strippedEnv,
                 inliningState.visitedNested,
                 inliningState.visitedDepsInToplevelLoad);
-      } catch (StarlarkImportFailedException | InconsistentFilesystemException e) {
+      } catch (BzlLoadFailedException | InconsistentFilesystemException e) {
         // For determinism's sake while inlining, preserve the first exception and continue to run
-        // subsequently listed imports to completion/exception, loading all transitive deps anyway.
+        // subsequently listed loads to completion/exception, loading all transitive deps anyway.
         deferredException = MoreObjects.firstNonNull(deferredException, e);
         continue;
       }
       if (cachedValue == null) {
-        Preconditions.checkState(env.valuesMissing(), "no starlark import value for %s", key);
+        Preconditions.checkState(env.valuesMissing(), "no starlark load value for %s", key);
         // We continue making inline calls even if some requested values are missing, to maximize
         // the number of dependent (non-inlined) SkyFunctions that are requested, thus avoiding a
         // quadratic number of restarts.
         valuesMissing = true;
       } else {
-        starlarkImports.add(cachedValue.getValue());
+        bzlLoads.add(cachedValue.getValue());
         inliningState.inlineCachedValueBuilder.addTransitiveDeps(cachedValue);
       }
     }
     if (deferredException != null) {
-      Throwables.throwIfInstanceOf(deferredException, StarlarkImportFailedException.class);
+      Throwables.throwIfInstanceOf(deferredException, BzlLoadFailedException.class);
       Throwables.throwIfInstanceOf(deferredException, InconsistentFilesystemException.class);
       throw new IllegalStateException(
           "caught a checked exception of unexpected type", deferredException);
     }
-    return valuesMissing ? null : starlarkImports;
+    return valuesMissing ? null : bzlLoads;
   }
 
-  /** Executes the .bzl file defining the module to be imported. */
+  /** Executes the .bzl file defining the module to be loaded. */
   private Module executeModule(
       StarlarkFile file,
       Label label,
@@ -659,14 +640,14 @@
       Environment env,
       boolean inWorkspace,
       ImmutableMap<RepositoryName, RepositoryName> repositoryMapping)
-      throws StarlarkImportFailedException, InterruptedException {
+      throws BzlLoadFailedException, InterruptedException {
     // set up .bzl predeclared environment
     Map<String, Object> predeclared = new HashMap<>(ruleClassProvider.getEnvironment());
     predeclared.put("native", packageFactory.getNativeModule(inWorkspace));
     Module module = Module.withPredeclared(starlarkSemantics, predeclared);
     module.setClientData(BazelModuleContext.create(label, transitiveDigest));
 
-    try (Mutability mu = Mutability.create("importing", label)) {
+    try (Mutability mu = Mutability.create("loading", label)) {
       StarlarkThread thread = new StarlarkThread(mu, starlarkSemantics);
       thread.setLoader(loadedModules::get);
       StoredEventHandler eventHandler = new StoredEventHandler();
@@ -679,7 +660,7 @@
         env.getListener().post(post);
       }
       if (eventHandler.hasErrors()) {
-        throw StarlarkImportFailedException.errors(label.toPathFragment());
+        throw BzlLoadFailedException.errors(label.toPathFragment());
       }
       return module;
     }
@@ -721,41 +702,38 @@
     return null;
   }
 
-  static final class StarlarkImportFailedException extends Exception
-      implements SaneAnalysisException {
+  static final class BzlLoadFailedException extends Exception implements SaneAnalysisException {
     private final Transience transience;
 
-    private StarlarkImportFailedException(String errorMessage) {
+    private BzlLoadFailedException(String errorMessage) {
       super(errorMessage);
       this.transience = Transience.PERSISTENT;
     }
 
-    private StarlarkImportFailedException(
-        String errorMessage, Exception cause, Transience transience) {
+    private BzlLoadFailedException(String errorMessage, Exception cause, Transience transience) {
       super(errorMessage, cause);
       this.transience = transience;
     }
 
-    static StarlarkImportFailedException errors(PathFragment file) {
-      return new StarlarkImportFailedException(
-          String.format("Extension file '%s' has errors", file));
+    static BzlLoadFailedException errors(PathFragment file) {
+      return new BzlLoadFailedException(String.format("Extension file '%s' has errors", file));
     }
 
-    static StarlarkImportFailedException errorReadingFile(
+    static BzlLoadFailedException errorReadingFile(
         PathFragment file, ErrorReadingStarlarkExtensionException cause) {
-      return new StarlarkImportFailedException(
+      return new BzlLoadFailedException(
           String.format(
               "Encountered error while reading extension file '%s': %s", file, cause.getMessage()),
           cause,
           cause.getTransience());
     }
 
-    static StarlarkImportFailedException noBuildFile(Label file, @Nullable String reason) {
+    static BzlLoadFailedException noBuildFile(Label file, @Nullable String reason) {
       if (reason != null) {
-        return new StarlarkImportFailedException(
+        return new BzlLoadFailedException(
             String.format("Unable to find package for %s: %s.", file, reason));
       }
-      return new StarlarkImportFailedException(
+      return new BzlLoadFailedException(
           String.format(
               "Every .bzl file must have a corresponding package, but '%s' does not have one."
                   + " Please create a BUILD file in the same or any parent directory. Note that"
@@ -763,9 +741,9 @@
               file));
     }
 
-    static StarlarkImportFailedException labelCrossesPackageBoundary(
+    static BzlLoadFailedException labelCrossesPackageBoundary(
         Label label, ContainingPackageLookupValue containingPackageLookupValue) {
-      return new StarlarkImportFailedException(
+      return new BzlLoadFailedException(
           ContainingPackageLookupValue.getErrorMessageForLabelCrossingPackageBoundary(
               // We don't actually know the proper Root to pass in here (since we don't e.g. know
               // the root of the bzl/BUILD file that is trying to load 'label'). Therefore we just
@@ -776,8 +754,8 @@
               containingPackageLookupValue));
     }
 
-    static StarlarkImportFailedException skylarkErrors(PathFragment file) {
-      return new StarlarkImportFailedException(String.format("Extension '%s' has errors", file));
+    static BzlLoadFailedException skylarkErrors(PathFragment file) {
+      return new BzlLoadFailedException(String.format("Extension '%s' has errors", file));
     }
   }
 
@@ -816,9 +794,8 @@
     private final RuleClassProvider ruleClassProvider;
     private final DigestHashFunction digestHashFunction;
     // We keep a cache of ASTFileLookupValues that have been computed but whose corresponding
-    // StarlarkImportLookupValue has not yet completed. This avoids repeating the ASTFileLookupValue
-    // work in case of Skyframe restarts. (If we weren't inlining, Skyframe would cache this for
-    // us.)
+    // BzlLoadValue has not yet completed. This avoids repeating the ASTFileLookupValue work in case
+    // of Skyframe restarts. (If we weren't inlining, Skyframe would cache this for us.)
     private final Cache<Label, ASTFileLookupValue> astFileLookupValueCache;
 
     private InliningAndCachingASTFileLookupValueManager(
@@ -854,45 +831,40 @@
   }
 
   private static class SelfInliningManager {
-    private final int starlarkImportLookupValueCacheSize;
-    private Cache<StarlarkImportLookupValue.Key, CachedStarlarkImportLookupValueAndDeps>
-        starlarkImportLookupValueCache;
-    private CachedStarlarkImportLookupValueAndDepsBuilderFactory
-        cachedStarlarkImportLookupValueAndDepsBuilderFactory =
-            new CachedStarlarkImportLookupValueAndDepsBuilderFactory();
+    private final int bzlLoadValueCacheSize;
+    private Cache<BzlLoadValue.Key, CachedBzlLoadValueAndDeps> bzlLoadValueCache;
+    private CachedBzlLoadValueAndDepsBuilderFactory cachedBzlLoadValueAndDepsBuilderFactory =
+        new CachedBzlLoadValueAndDepsBuilderFactory();
 
-    private SelfInliningManager(int starlarkImportLookupValueCacheSize) {
-      this.starlarkImportLookupValueCacheSize = starlarkImportLookupValueCacheSize;
+    private SelfInliningManager(int bzlLoadValueCacheSize) {
+      this.bzlLoadValueCacheSize = bzlLoadValueCacheSize;
     }
 
     private void reset() {
-      if (starlarkImportLookupValueCache != null) {
+      if (bzlLoadValueCache != null) {
         logger.atInfo().log(
-            "Starlark inlining cache stats from earlier build: "
-                + starlarkImportLookupValueCache.stats());
+            "Starlark inlining cache stats from earlier build: " + bzlLoadValueCache.stats());
       }
-      cachedStarlarkImportLookupValueAndDepsBuilderFactory =
-          new CachedStarlarkImportLookupValueAndDepsBuilderFactory();
+      cachedBzlLoadValueAndDepsBuilderFactory = new CachedBzlLoadValueAndDepsBuilderFactory();
       Preconditions.checkState(
-          starlarkImportLookupValueCacheSize >= 0,
+          bzlLoadValueCacheSize >= 0,
           "Expected positive Starlark cache size if caching. %s",
-          starlarkImportLookupValueCacheSize);
-      starlarkImportLookupValueCache =
+          bzlLoadValueCacheSize);
+      bzlLoadValueCache =
           CacheBuilder.newBuilder()
               .concurrencyLevel(BlazeInterners.concurrencyLevel())
-              .maximumSize(starlarkImportLookupValueCacheSize)
+              .maximumSize(bzlLoadValueCacheSize)
               .recordStats()
               .build();
     }
   }
 
-  private static final class StarlarkImportLookupFunctionException extends SkyFunctionException {
-    private StarlarkImportLookupFunctionException(StarlarkImportFailedException cause) {
+  private static final class BzlLoadFunctionException extends SkyFunctionException {
+    private BzlLoadFunctionException(BzlLoadFailedException cause) {
       super(cause, cause.transience);
     }
 
-    private StarlarkImportLookupFunctionException(InconsistentFilesystemException e,
-        Transience transience) {
+    private BzlLoadFunctionException(InconsistentFilesystemException e, Transience transience) {
       super(e, transience);
     }
   }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkImportLookupValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadValue.java
similarity index 92%
rename from src/main/java/com/google/devtools/build/lib/skyframe/StarlarkImportLookupValue.java
rename to src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadValue.java
index 498ec5c..7bcbc6d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkImportLookupValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadValue.java
@@ -28,11 +28,11 @@
 import java.util.Objects;
 
 /**
- * A value that represents a Starlark import lookup result. The lookup value corresponds to exactly
- * one Starlark file, identified by an absolute {@link Label} {@link SkyKey} argument. The Label
- * should not reference the special {@code external} package.
+ * A value that represents a Starlark load result. The lookup value corresponds to exactly one
+ * Starlark file, identified by an absolute {@link Label} {@link SkyKey} argument. The Label should
+ * not reference the special {@code external} package.
  */
-public class StarlarkImportLookupValue implements SkyValue {
+public class BzlLoadValue implements SkyValue {
 
   private final Module module; // .bzl module
   private final byte[] transitiveDigest; // of .bzl file and load dependencies
@@ -45,8 +45,7 @@
   private final StarlarkFileDependency dependency;
 
   @VisibleForTesting
-  public StarlarkImportLookupValue(
-      Module module, byte[] transitiveDigest, StarlarkFileDependency dependency) {
+  public BzlLoadValue(Module module, byte[] transitiveDigest, StarlarkFileDependency dependency) {
     this.module = Preconditions.checkNotNull(module);
     this.transitiveDigest = Preconditions.checkNotNull(transitiveDigest);
     this.dependency = Preconditions.checkNotNull(dependency);
@@ -62,14 +61,14 @@
     return transitiveDigest;
   }
 
-  /** Returns the immediate Starlark file dependency corresponding to this import lookup value. */
+  /** Returns the immediate Starlark file dependency corresponding to this load value. */
   public StarlarkFileDependency getDependency() {
     return dependency;
   }
 
   private static final Interner<Key> keyInterner = BlazeInterners.newWeakInterner();
 
-  /** SkyKey for a Starlark import. */
+  /** SkyKey for a Starlark load. */
   abstract static class Key implements SkyKey {
 
     /** Returns the label of the .bzl file to be loaded. */
@@ -87,7 +86,7 @@
 
     @Override
     public SkyFunctionName functionName() {
-      return SkyFunctions.STARLARK_IMPORTS_LOOKUP;
+      return SkyFunctions.BZL_LOAD;
     }
   }
 
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CachedStarlarkImportLookupValueAndDeps.java b/src/main/java/com/google/devtools/build/lib/skyframe/CachedBzlLoadValueAndDeps.java
similarity index 70%
rename from src/main/java/com/google/devtools/build/lib/skyframe/CachedStarlarkImportLookupValueAndDeps.java
rename to src/main/java/com/google/devtools/build/lib/skyframe/CachedBzlLoadValueAndDeps.java
index afc1180..7c9b469 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/CachedStarlarkImportLookupValueAndDeps.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/CachedBzlLoadValueAndDeps.java
@@ -25,17 +25,17 @@
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicReference;
 
-class CachedStarlarkImportLookupValueAndDeps {
-  private final StarlarkImportLookupValue.Key key;
-  private final StarlarkImportLookupValue value;
+class CachedBzlLoadValueAndDeps {
+  private final BzlLoadValue.Key key;
+  private final BzlLoadValue value;
   private final ImmutableList<Iterable<SkyKey>> directDeps;
-  private final ImmutableList<CachedStarlarkImportLookupValueAndDeps> transitiveDeps;
+  private final ImmutableList<CachedBzlLoadValueAndDeps> transitiveDeps;
 
-  private CachedStarlarkImportLookupValueAndDeps(
-      StarlarkImportLookupValue.Key key,
-      StarlarkImportLookupValue value,
+  private CachedBzlLoadValueAndDeps(
+      BzlLoadValue.Key key,
+      BzlLoadValue value,
       ImmutableList<Iterable<SkyKey>> directDeps,
-      ImmutableList<CachedStarlarkImportLookupValueAndDeps> transitiveDeps) {
+      ImmutableList<CachedBzlLoadValueAndDeps> transitiveDeps) {
     this.key = key;
     this.value = value;
     this.directDeps = directDeps;
@@ -44,12 +44,12 @@
 
   void traverse(
       DepGroupConsumer depGroupConsumer,
-      Map<StarlarkImportLookupValue.Key, CachedStarlarkImportLookupValueAndDeps> visitedDeps)
+      Map<BzlLoadValue.Key, CachedBzlLoadValueAndDeps> visitedDeps)
       throws InterruptedException {
     for (Iterable<SkyKey> directDepGroup : directDeps) {
       depGroupConsumer.accept(directDepGroup);
     }
-    for (CachedStarlarkImportLookupValueAndDeps indirectDeps : transitiveDeps) {
+    for (CachedBzlLoadValueAndDeps indirectDeps : transitiveDeps) {
       if (!visitedDeps.containsKey(indirectDeps.key)) {
         visitedDeps.put(indirectDeps.key, indirectDeps);
         indirectDeps.traverse(depGroupConsumer, visitedDeps);
@@ -57,16 +57,16 @@
     }
   }
 
-  StarlarkImportLookupValue getValue() {
+  BzlLoadValue getValue() {
     return value;
   }
 
   @Override
   public boolean equals(Object obj) {
-    if (obj instanceof CachedStarlarkImportLookupValueAndDeps) {
+    if (obj instanceof CachedBzlLoadValueAndDeps) {
       // With the interner, force there to be exactly one cached value per key at any given point
       // in time.
-      return this.key.equals(((CachedStarlarkImportLookupValueAndDeps) obj).key);
+      return this.key.equals(((CachedBzlLoadValueAndDeps) obj).key);
     }
     return false;
   }
@@ -82,16 +82,16 @@
   }
 
   static class Builder {
-    Builder(Interner<CachedStarlarkImportLookupValueAndDeps> interner) {
+    Builder(Interner<CachedBzlLoadValueAndDeps> interner) {
       this.interner = interner;
     }
 
-    private final Interner<CachedStarlarkImportLookupValueAndDeps> interner;
+    private final Interner<CachedBzlLoadValueAndDeps> interner;
     private final List<Iterable<SkyKey>> directDeps = new ArrayList<>();
-    private final List<CachedStarlarkImportLookupValueAndDeps> transitiveDeps = new ArrayList<>();
+    private final List<CachedBzlLoadValueAndDeps> transitiveDeps = new ArrayList<>();
     private final AtomicReference<Exception> exceptionSeen = new AtomicReference<>(null);
-    private StarlarkImportLookupValue value;
-    private StarlarkImportLookupValue.Key key;
+    private BzlLoadValue value;
+    private BzlLoadValue.Key key;
 
     @CanIgnoreReturnValue
     Builder addDep(SkyKey key) {
@@ -116,36 +116,36 @@
     }
 
     @CanIgnoreReturnValue
-    Builder addTransitiveDeps(CachedStarlarkImportLookupValueAndDeps transitiveDeps) {
+    Builder addTransitiveDeps(CachedBzlLoadValueAndDeps transitiveDeps) {
       this.transitiveDeps.add(transitiveDeps);
       return this;
     }
 
     @CanIgnoreReturnValue
-    Builder setValue(StarlarkImportLookupValue value) {
+    Builder setValue(BzlLoadValue value) {
       this.value = value;
       return this;
     }
 
     @CanIgnoreReturnValue
-    Builder setKey(StarlarkImportLookupValue.Key key) {
+    Builder setKey(BzlLoadValue.Key key) {
       this.key = key;
       return this;
     }
 
-    CachedStarlarkImportLookupValueAndDeps build() {
-      // We expect that we don't handle any exceptions in StarlarkLookupImportFunction directly.
+    CachedBzlLoadValueAndDeps build() {
+      // We expect that we don't handle any exceptions in BzlLoadFunction directly.
       Preconditions.checkState(exceptionSeen.get() == null, "Caching a value in error?: %s", this);
       Preconditions.checkNotNull(value, "Expected value to be set: %s", this);
       Preconditions.checkNotNull(key, "Expected key to be set: %s", this);
       return interner.intern(
-          new CachedStarlarkImportLookupValueAndDeps(
+          new CachedBzlLoadValueAndDeps(
               key, value, ImmutableList.copyOf(directDeps), ImmutableList.copyOf(transitiveDeps)));
     }
 
     @Override
     public String toString() {
-      return MoreObjects.toStringHelper(CachedStarlarkImportLookupValueAndDeps.Builder.class)
+      return MoreObjects.toStringHelper(CachedBzlLoadValueAndDeps.Builder.class)
           .add("key", key)
           .add("value", value)
           .add("directDeps", directDeps)
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CachedStarlarkImportLookupValueAndDepsBuilderFactory.java b/src/main/java/com/google/devtools/build/lib/skyframe/CachedBzlLoadValueAndDepsBuilderFactory.java
similarity index 64%
rename from src/main/java/com/google/devtools/build/lib/skyframe/CachedStarlarkImportLookupValueAndDepsBuilderFactory.java
rename to src/main/java/com/google/devtools/build/lib/skyframe/CachedBzlLoadValueAndDepsBuilderFactory.java
index 5272424..77fc055 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/CachedStarlarkImportLookupValueAndDepsBuilderFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/CachedBzlLoadValueAndDepsBuilderFactory.java
@@ -17,13 +17,11 @@
 import com.google.common.collect.Interner;
 import com.google.devtools.build.lib.concurrent.BlazeInterners;
 
-/** Factory class for producing CachedStarlarkImportLookupValueAndDeps. */
-public class CachedStarlarkImportLookupValueAndDepsBuilderFactory {
-  private final Interner<CachedStarlarkImportLookupValueAndDeps> interner =
-      BlazeInterners.newWeakInterner();
+/** Factory class for producing CachedBzlLoadValueAndDeps. */
+public class CachedBzlLoadValueAndDepsBuilderFactory {
+  private final Interner<CachedBzlLoadValueAndDeps> interner = BlazeInterners.newWeakInterner();
 
-  CachedStarlarkImportLookupValueAndDeps.Builder
-      newCachedStarlarkImportLookupValueAndDepsBuilder() {
-    return new CachedStarlarkImportLookupValueAndDeps.Builder(interner);
+  CachedBzlLoadValueAndDeps.Builder newCachedBzlLoadValueAndDepsBuilder() {
+    return new CachedBzlLoadValueAndDeps.Builder(interner);
   }
 }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
index 266be0c..6c81c51d 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java
@@ -53,8 +53,8 @@
 import com.google.devtools.build.lib.profiler.SilentCloseable;
 import com.google.devtools.build.lib.repository.ExternalPackageHelper;
 import com.google.devtools.build.lib.rules.repository.WorkspaceFileHelper;
+import com.google.devtools.build.lib.skyframe.BzlLoadFunction.BzlLoadFailedException;
 import com.google.devtools.build.lib.skyframe.GlobValue.InvalidGlobPatternException;
-import com.google.devtools.build.lib.skyframe.StarlarkImportLookupFunction.StarlarkImportFailedException;
 import com.google.devtools.build.lib.syntax.EvalException;
 import com.google.devtools.build.lib.syntax.FileOptions;
 import com.google.devtools.build.lib.syntax.Location;
@@ -106,7 +106,7 @@
   private final ExternalPackageHelper externalPackageHelper;
 
   // Not final only for testing.
-  @Nullable private StarlarkImportLookupFunction starlarkImportLookupFunctionForInlining;
+  @Nullable private BzlLoadFunction bzlLoadFunctionForInlining;
 
   private final ActionOnIOExceptionReadingBuildFile actionOnIOExceptionReadingBuildFile;
 
@@ -119,12 +119,12 @@
       Cache<PackageIdentifier, LoadedPackageCacheEntry> packageFunctionCache,
       Cache<PackageIdentifier, StarlarkFile> fileSyntaxCache,
       AtomicInteger numPackagesLoaded,
-      @Nullable StarlarkImportLookupFunction starlarkImportLookupFunctionForInlining,
+      @Nullable BzlLoadFunction bzlLoadFunctionForInlining,
       @Nullable PackageProgressReceiver packageProgress,
       ActionOnIOExceptionReadingBuildFile actionOnIOExceptionReadingBuildFile,
       IncrementalityIntent incrementalityIntent,
       ExternalPackageHelper externalPackageHelper) {
-    this.starlarkImportLookupFunctionForInlining = starlarkImportLookupFunctionForInlining;
+    this.bzlLoadFunctionForInlining = bzlLoadFunctionForInlining;
     // Can be null in tests.
     this.preludeLabel = packageFactory == null
         ? null
@@ -149,7 +149,7 @@
       Cache<PackageIdentifier, LoadedPackageCacheEntry> packageFunctionCache,
       Cache<PackageIdentifier, StarlarkFile> fileSyntaxCache,
       AtomicInteger numPackagesLoaded,
-      @Nullable StarlarkImportLookupFunction starlarkImportLookupFunctionForInlining,
+      @Nullable BzlLoadFunction bzlLoadFunctionForInlining,
       ExternalPackageHelper externalPackageHelper) {
     this(
         packageFactory,
@@ -158,16 +158,15 @@
         packageFunctionCache,
         fileSyntaxCache,
         numPackagesLoaded,
-        starlarkImportLookupFunctionForInlining,
+        bzlLoadFunctionForInlining,
         /*packageProgress=*/ null,
         ActionOnIOExceptionReadingBuildFile.UseOriginalIOException.INSTANCE,
         IncrementalityIntent.INCREMENTAL,
         externalPackageHelper);
   }
 
-  public void setStarlarkImportLookupFunctionForInliningForTesting(
-      StarlarkImportLookupFunction starlarkImportLookupFunctionForInlining) {
-    this.starlarkImportLookupFunctionForInlining = starlarkImportLookupFunctionForInlining;
+  public void setBzlLoadFunctionForInliningForTesting(BzlLoadFunction bzlLoadFunctionForInlining) {
+    this.bzlLoadFunctionForInlining = bzlLoadFunctionForInlining;
   }
 
   /**
@@ -319,8 +318,8 @@
                   workspaceKey,
                   IOException.class,
                   EvalException.class,
-                  StarlarkImportFailedException.class);
-    } catch (IOException | EvalException | StarlarkImportFailedException e) {
+                  BzlLoadFailedException.class);
+    } catch (IOException | EvalException | BzlLoadFailedException e) {
       throw new PackageFunctionException(
           new NoSuchPackageException(
               LabelConstants.EXTERNAL_PACKAGE_IDENTIFIER,
@@ -572,8 +571,8 @@
     return buildFileValue;
   }
 
-  private static BuildFileContainsErrorsException makeStarlarkImportFailedException(
-      PackageIdentifier packageId, StarlarkImportFailedException e) {
+  private static BuildFileContainsErrorsException makeBzlLoadFailedException(
+      PackageIdentifier packageId, BzlLoadFailedException e) {
     Throwable rootCause = Throwables.getRootCause(e);
     return (rootCause instanceof IOException)
         ? new BuildFileContainsErrorsException(packageId, e.getMessage(), (IOException) rootCause)
@@ -585,52 +584,51 @@
    * null.
    */
   @Nullable
-  static StarlarkImportResult fetchImportsFromBuildFile(
+  static BzlLoadResult fetchLoadsFromBuildFile(
       RootedPath buildFilePath,
       PackageIdentifier packageId,
       ImmutableMap<RepositoryName, RepositoryName> repoMapping,
       StarlarkFile file,
       int workspaceChunk,
       Environment env,
-      StarlarkImportLookupFunction starlarkImportLookupFunctionForInlining)
+      BzlLoadFunction bzlLoadFunctionForInlining)
       throws NoSuchPackageException, InterruptedException {
     Preconditions.checkArgument(!packageId.getRepository().isDefault());
 
     // Parse the labels in the file's load statements.
     List<Pair<String, Label>> loads =
-        StarlarkImportLookupFunction.getLoadLabels(env.getListener(), file, packageId, repoMapping);
+        BzlLoadFunction.getLoadLabels(env.getListener(), file, packageId, repoMapping);
     if (loads == null) {
       throw new BuildFileContainsErrorsException(packageId, "malformed load statements");
     }
 
     // Compute Skyframe key for each label in 'loads'.
-    List<StarlarkImportLookupValue.Key> keys = Lists.newArrayListWithExpectedSize(loads.size());
+    List<BzlLoadValue.Key> keys = Lists.newArrayListWithExpectedSize(loads.size());
     boolean inWorkspace =
         WorkspaceFileHelper.endsWithWorkspaceFileName(buildFilePath.getRootRelativePath());
     for (Pair<String, Label> load : loads) {
       Label bzlLabel = load.second;
       if (inWorkspace) {
         int originalChunk = getOriginalWorkspaceChunk(env, buildFilePath, workspaceChunk, bzlLabel);
-        keys.add(StarlarkImportLookupValue.workspaceBzlKey(bzlLabel, originalChunk, buildFilePath));
+        keys.add(BzlLoadValue.workspaceBzlKey(bzlLabel, originalChunk, buildFilePath));
       } else {
-        keys.add(StarlarkImportLookupValue.packageBzlKey(bzlLabel));
+        keys.add(BzlLoadValue.packageBzlKey(bzlLabel));
       }
     }
 
     // Load .bzl modules in parallel.
-    List<StarlarkImportLookupValue> starlarkImports;
+    List<BzlLoadValue> bzlLoads;
     try {
-      starlarkImports =
-          starlarkImportLookupFunctionForInlining == null
-              ? computeStarlarkImportsNoInlining(env, keys)
-              : computeStarlarkImportsWithInlining(
-                  env, keys, starlarkImportLookupFunctionForInlining);
-    } catch (StarlarkImportFailedException e) {
-      throw makeStarlarkImportFailedException(packageId, e);
+      bzlLoads =
+          bzlLoadFunctionForInlining == null
+              ? computeBzlLoadsNoInlining(env, keys)
+              : computeBzlLoadsWithInlining(env, keys, bzlLoadFunctionForInlining);
+    } catch (BzlLoadFailedException e) {
+      throw makeBzlLoadFailedException(packageId, e);
     } catch (InconsistentFilesystemException e) {
       throw new NoSuchPackageException(packageId, e.getMessage(), e);
     }
-    if (starlarkImports == null) {
+    if (bzlLoads == null) {
       return null; // Skyframe deps unavailable
     }
 
@@ -639,89 +637,83 @@
     ImmutableList.Builder<StarlarkFileDependency> fileDependencies = ImmutableList.builder();
     for (int i = 0; i < loads.size(); i++) {
       String loadString = loads.get(i).first;
-      StarlarkImportLookupValue v = starlarkImports.get(i);
+      BzlLoadValue v = bzlLoads.get(i);
       loadedModules.put(loadString, v.getModule());
       fileDependencies.add(v.getDependency());
     }
-    return new StarlarkImportResult(
-        loadedModules, transitiveClosureOfLabels(fileDependencies.build()));
+    return new BzlLoadResult(loadedModules, transitiveClosureOfLabels(fileDependencies.build()));
   }
 
   /**
-   * Compute the StarlarkImportLookupValue for all given keys using vanilla Skyframe evaluation,
-   * returning {@code null} if Skyframe deps were missing and have been requested.
-   */
-  @Nullable
-  private static List<StarlarkImportLookupValue> computeStarlarkImportsNoInlining(
-      Environment env, List<StarlarkImportLookupValue.Key> keys)
-      throws InterruptedException, StarlarkImportFailedException, InconsistentFilesystemException {
-    List<StarlarkImportLookupValue> starlarkImports =
-        Lists.newArrayListWithExpectedSize(keys.size());
-    Map<SkyKey, ValueOrException2<StarlarkImportFailedException, InconsistentFilesystemException>>
-        skylarkLookupResults =
-            env.getValuesOrThrow(
-                keys, StarlarkImportFailedException.class, InconsistentFilesystemException.class);
-    for (StarlarkImportLookupValue.Key key : keys) {
-      starlarkImports.add((StarlarkImportLookupValue) skylarkLookupResults.get(key).get());
-    }
-    return env.valuesMissing() ? null : starlarkImports;
-  }
-
-  /**
-   * Compute the StarlarkImportLookupValue for all given keys by "inlining" the
-   * StarlarkImportLookupFunction and bypassing traditional Skyframe evaluation, returning {@code
+   * Compute the BzlLoadValue for all given keys using vanilla Skyframe evaluation, returning {@code
    * null} if Skyframe deps were missing and have been requested.
    */
   @Nullable
-  private static List<StarlarkImportLookupValue> computeStarlarkImportsWithInlining(
-      Environment env,
-      List<StarlarkImportLookupValue.Key> keys,
-      StarlarkImportLookupFunction starlarkImportLookupFunctionForInlining)
-      throws InterruptedException, StarlarkImportFailedException, InconsistentFilesystemException {
-    List<StarlarkImportLookupValue> starlarkImports =
-        Lists.newArrayListWithExpectedSize(keys.size());
+  private static List<BzlLoadValue> computeBzlLoadsNoInlining(
+      Environment env, List<BzlLoadValue.Key> keys)
+      throws InterruptedException, BzlLoadFailedException, InconsistentFilesystemException {
+    List<BzlLoadValue> bzlLoads = Lists.newArrayListWithExpectedSize(keys.size());
+    Map<SkyKey, ValueOrException2<BzlLoadFailedException, InconsistentFilesystemException>>
+        skylarkLookupResults =
+            env.getValuesOrThrow(
+                keys, BzlLoadFailedException.class, InconsistentFilesystemException.class);
+    for (BzlLoadValue.Key key : keys) {
+      bzlLoads.add((BzlLoadValue) skylarkLookupResults.get(key).get());
+    }
+    return env.valuesMissing() ? null : bzlLoads;
+  }
+
+  /**
+   * Compute the BzlLoadValue for all given keys by "inlining" the BzlLoadFunction and bypassing
+   * traditional Skyframe evaluation, returning {@code null} if Skyframe deps were missing and have
+   * been requested.
+   */
+  @Nullable
+  private static List<BzlLoadValue> computeBzlLoadsWithInlining(
+      Environment env, List<BzlLoadValue.Key> keys, BzlLoadFunction bzlLoadFunctionForInlining)
+      throws InterruptedException, BzlLoadFailedException, InconsistentFilesystemException {
+    List<BzlLoadValue> bzlLoads = Lists.newArrayListWithExpectedSize(keys.size());
     Exception deferredException = null;
     boolean valuesMissing = false;
-    // Compute StarlarkImportLookupValue for each key, sharing this map as one big cache. This
-    // ensures that each .bzl is loaded only once, regardless of diamond dependencies. (Multiple
-    // loads of the same .bzl would screw up identity equality of some Starlark symbols.)
-    Map<StarlarkImportLookupValue.Key, CachedStarlarkImportLookupValueAndDeps>
-        visitedDepsInToplevelLoad = new HashMap<>();
-    for (StarlarkImportLookupValue.Key key : keys) {
+    // Compute BzlLoadValue for each key, sharing this map as one big cache. This ensures that each
+    // .bzl is loaded only once, regardless of diamond dependencies. (Multiple loads of the same
+    // .bzl would screw up identity equality of some Starlark symbols -- see comments in
+    // BzlLoadFunction.)
+    Map<BzlLoadValue.Key, CachedBzlLoadValueAndDeps> visitedDepsInToplevelLoad = new HashMap<>();
+    for (BzlLoadValue.Key key : keys) {
       SkyValue skyValue;
       try {
         // Will complete right away if it's already cached in visitedDepsInToplevelLoad.
         skyValue =
-            starlarkImportLookupFunctionForInlining
-                .computeWithSelfInlineCallsForPackageAndWorkspaceNodes(
-                    key, env, visitedDepsInToplevelLoad);
-      } catch (StarlarkImportFailedException | InconsistentFilesystemException e) {
+            bzlLoadFunctionForInlining.computeWithSelfInlineCallsForPackageAndWorkspaceNodes(
+                key, env, visitedDepsInToplevelLoad);
+      } catch (BzlLoadFailedException | InconsistentFilesystemException e) {
         // For determinism's sake while inlining, preserve the first exception and continue to run
-        // subsequently listed imports to completion/exception, loading all transitive deps anyway.
+        // subsequently listed loads to completion/exception, loading all transitive deps anyway.
         deferredException = MoreObjects.firstNonNull(deferredException, e);
         continue;
       }
       if (skyValue == null) {
-        Preconditions.checkState(env.valuesMissing(), "no starlark import value for %s", key);
+        Preconditions.checkState(env.valuesMissing(), "no starlark load value for %s", key);
         // We continue making inline calls even if some requested values are missing, to
         // maximize the number of dependent (non-inlined) SkyFunctions that are requested, thus
         // avoiding a quadratic number of restarts.
         valuesMissing = true;
       } else {
-        starlarkImports.add((StarlarkImportLookupValue) skyValue);
+        bzlLoads.add((BzlLoadValue) skyValue);
       }
     }
     if (deferredException != null) {
-      Throwables.throwIfInstanceOf(deferredException, StarlarkImportFailedException.class);
+      Throwables.throwIfInstanceOf(deferredException, BzlLoadFailedException.class);
       Throwables.throwIfInstanceOf(deferredException, InconsistentFilesystemException.class);
       throw new IllegalStateException(
           "caught a checked exception of unexpected type", deferredException);
     }
-    return valuesMissing ? null : starlarkImports;
+    return valuesMissing ? null : bzlLoads;
   }
 
   private static int getOriginalWorkspaceChunk(
-      Environment env, RootedPath workspacePath, int workspaceChunk, Label importLabel)
+      Environment env, RootedPath workspacePath, int workspaceChunk, Label loadLabel)
       throws InterruptedException {
     if (workspaceChunk < 1) {
       return workspaceChunk;
@@ -731,9 +723,9 @@
     // for nullness
     SkyKey workspaceFileKey = WorkspaceFileValue.key(workspacePath, workspaceChunk - 1);
     WorkspaceFileValue workspaceFileValue = (WorkspaceFileValue) env.getValue(workspaceFileKey);
-    ImmutableMap<String, Integer> importToChunkMap = workspaceFileValue.getImportToChunkMap();
-    String importString = importLabel.toString();
-    return importToChunkMap.getOrDefault(importString, workspaceChunk);
+    ImmutableMap<String, Integer> loadToChunkMap = workspaceFileValue.getLoadToChunkMap();
+    String loadString = loadLabel.toString();
+    return loadToChunkMap.getOrDefault(loadString, workspaceChunk);
   }
 
   private static ImmutableList<Label> transitiveClosureOfLabels(
@@ -1206,24 +1198,24 @@
         file = StarlarkFile.parseWithPrelude(input, preludeStatements, options);
         fileSyntaxCache.put(packageId, file);
       }
-      StarlarkImportResult importResult;
+      BzlLoadResult loadResult;
       try {
-        importResult =
-            fetchImportsFromBuildFile(
+        loadResult =
+            fetchLoadsFromBuildFile(
                 buildFilePath,
                 packageId,
                 repositoryMapping,
                 file,
                 /* workspaceChunk = */ -1,
                 env,
-                starlarkImportLookupFunctionForInlining);
+                bzlLoadFunctionForInlining);
       } catch (NoSuchPackageException e) {
         throw new PackageFunctionException(e, Transience.PERSISTENT);
       } catch (InterruptedException e) {
         fileSyntaxCache.invalidate(packageId);
         throw e;
       }
-      if (importResult == null) {
+      if (loadResult == null) {
         return null;
       }
       // From here on, either of the following must happen:
@@ -1244,8 +1236,8 @@
               packageId,
               buildFilePath,
               file,
-              importResult.loadedModules,
-              importResult.fileDependencies,
+              loadResult.loadedModules,
+              loadResult.fileDependencies,
               defaultVisibility,
               starlarkSemantics,
               globberWithSkyframeGlobDeps);
@@ -1310,12 +1302,12 @@
     }
   }
 
-  /** A simple value class to store the result of the Starlark imports. */
-  static final class StarlarkImportResult {
+  /** A simple value class to store the result of the Starlark loads. */
+  static final class BzlLoadResult {
     final Map<String, Module> loadedModules;
     final ImmutableList<Label> fileDependencies;
 
-    private StarlarkImportResult(
+    private BzlLoadResult(
         Map<String, Module> loadedModules, ImmutableList<Label> fileDependencies) {
       this.loadedModules = loadedModules;
       this.fileDependencies = fileDependencies;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java
index 7218385..8804524 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java
@@ -47,8 +47,7 @@
       SkyFunctionName.createHermetic("AST_FILE_LOOKUP");
   public static final SkyFunctionName STARLARK_BUILTINS =
       SkyFunctionName.createHermetic("STARLARK_BUILTINS");
-  public static final SkyFunctionName STARLARK_IMPORTS_LOOKUP =
-      SkyFunctionName.createHermetic("STARLARK_IMPORTS_LOOKUP");
+  public static final SkyFunctionName BZL_LOAD = SkyFunctionName.createHermetic("BZL_LOAD");
   public static final SkyFunctionName GLOB = SkyFunctionName.createHermetic("GLOB");
   public static final SkyFunctionName PACKAGE = SkyFunctionName.createHermetic("PACKAGE");
   static final SkyFunctionName PACKAGE_ERROR = SkyFunctionName.createHermetic("PACKAGE_ERROR");
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index a11b714..c16dffe 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -262,7 +262,7 @@
 
   // Cache of partially constructed Package instances, stored between reruns of the PackageFunction
   // (because of missing dependencies, within the same evaluate() run) to avoid loading the same
-  // package twice (first time loading to find imported bzl files and declare Skyframe
+  // package twice (first time loading to find load()ed bzl files and declare Skyframe
   // dependencies).
   private final Cache<PackageIdentifier, LoadedPackageCacheEntry> packageFunctionCache =
       newPkgFunctionCache();
@@ -270,9 +270,8 @@
   private final Cache<PackageIdentifier, StarlarkFile> buildFileSyntaxCache =
       newBuildFileSyntaxCache();
 
-  // Cache of parsed bzl files, for use when we're inlining ASTFileLookupValue in
-  // StarlarkImportLookupValue. See the comments in StarlarkLookupFunction for motivations and
-  // details.
+  // Cache of parsed bzl files, for use when we're inlining ASTFileLookupFunction in
+  // BzlLoadFunction. See the comments in BzlLoadFunction for motivations and details.
   private final Cache<Label, ASTFileLookupValue> astFileLookupValueCache =
       CacheBuilder.newBuilder().build();
 
@@ -471,8 +470,8 @@
   private ImmutableMap<SkyFunctionName, SkyFunction> skyFunctions(PackageFactory pkgFactory) {
     ConfiguredRuleClassProvider ruleClassProvider =
         (ConfiguredRuleClassProvider) pkgFactory.getRuleClassProvider();
-    StarlarkImportLookupFunction starlarkImportLookupFunctionForInliningPackageAndWorkspaceNodes =
-        getStarlarkImportLookupFunctionForInliningPackageAndWorkspaceNodes();
+    BzlLoadFunction bzlLoadFunctionForInliningPackageAndWorkspaceNodes =
+        getBzlLoadFunctionForInliningPackageAndWorkspaceNodes();
     // TODO(janakr): use this semaphore to bound memory usage for SkyFunctions besides
     // ConfiguredTargetFunction that may have a large temporary memory blow-up.
     Semaphore cpuBoundSemaphore = new Semaphore(ResourceUsage.getAvailableProcessors());
@@ -503,9 +502,7 @@
         SkyFunctions.AST_FILE_LOOKUP,
         new ASTFileLookupFunction(ruleClassProvider, DigestHashFunction.getDefaultUnchecked()));
     map.put(SkyFunctions.STARLARK_BUILTINS, new StarlarkBuiltinsFunction());
-    map.put(
-        SkyFunctions.STARLARK_IMPORTS_LOOKUP,
-        newStarlarkImportLookupFunction(ruleClassProvider, pkgFactory));
+    map.put(SkyFunctions.BZL_LOAD, newBzlLoadFunction(ruleClassProvider, pkgFactory));
     map.put(SkyFunctions.GLOB, newGlobFunction());
     map.put(SkyFunctions.TARGET_PATTERN, new TargetPatternFunction());
     map.put(SkyFunctions.PREPARE_DEPS_OF_PATTERNS, new PrepareDepsOfPatternsFunction());
@@ -541,7 +538,7 @@
             packageFunctionCache,
             buildFileSyntaxCache,
             numPackagesLoaded,
-            starlarkImportLookupFunctionForInliningPackageAndWorkspaceNodes,
+            bzlLoadFunctionForInliningPackageAndWorkspaceNodes,
             packageProgress,
             actionOnIOExceptionReadingBuildFile,
             tracksStateForIncrementality()
@@ -586,7 +583,7 @@
             ruleClassProvider,
             pkgFactory,
             directories,
-            starlarkImportLookupFunctionForInliningPackageAndWorkspaceNodes));
+            bzlLoadFunctionForInliningPackageAndWorkspaceNodes));
     map.put(SkyFunctions.EXTERNAL_PACKAGE, new ExternalPackageFunction(externalPackageHelper));
     map.put(
         SkyFunctions.TARGET_COMPLETION,
@@ -657,14 +654,13 @@
   }
 
   @Nullable
-  protected StarlarkImportLookupFunction
-      getStarlarkImportLookupFunctionForInliningPackageAndWorkspaceNodes() {
+  protected BzlLoadFunction getBzlLoadFunctionForInliningPackageAndWorkspaceNodes() {
     return null;
   }
 
-  protected SkyFunction newStarlarkImportLookupFunction(
+  protected SkyFunction newBzlLoadFunction(
       RuleClassProvider ruleClassProvider, PackageFactory pkgFactory) {
-    return StarlarkImportLookupFunction.create(
+    return BzlLoadFunction.create(
         ruleClassProvider,
         this.pkgFactory,
         DigestHashFunction.getDefaultUnchecked(),
@@ -981,7 +977,7 @@
   private static final ImmutableSet<SkyFunctionName> LOADING_TYPES =
       ImmutableSet.of(
           SkyFunctions.PACKAGE,
-          SkyFunctions.STARLARK_IMPORTS_LOOKUP,
+          SkyFunctions.BZL_LOAD,
           SkyFunctions.AST_FILE_LOOKUP,
           SkyFunctions.GLOB);
 
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsFunction.java
index 56bca62..4972250 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsFunction.java
@@ -27,7 +27,7 @@
 import javax.annotation.Nullable;
 
 // TODO(brandjon): Determine places where we need to teach Skyframe about this Skyfunction. Look for
-// special treatment of StarlarkImportLookupFunction or ASTFileLookupFunction in existing code.
+// special treatment of BzlLoadFunction or ASTFileLookupFunction in existing code.
 
 // TODO(brandjon): Add support to StarlarkModuleCycleReporter to pretty-print cycles involving
 // @builtins. Blocked on us actually loading files from @builtins.
@@ -37,8 +37,7 @@
  * exported by {@code @builtins//:exports.bzl}.
  *
  * <p>This function has a trivial key, so there can only be one value in the build at a time. It has
- * a single dependency, on the result of evaluating the exports.bzl file to a {@link
- * StarlarkImportLookupValue}.
+ * a single dependency, on the result of evaluating the exports.bzl file to a {@link BzlLoadValue}.
  *
  * <p>See also the design doc:
  * https://docs.google.com/document/d/1GW7UVo1s9X0cti9OMgT3ga5ozKYUWLPk9k8c4-34rC4/edit
@@ -64,12 +63,12 @@
       throws StarlarkBuiltinsFunctionException, InterruptedException {
     // skyKey is a singleton, unused.
 
-    // TODO(brandjon): Replace by @builtins//:exports once StarlarkImportLookupFunction can resolve
-    // the @builtins namespace.
+    // TODO(brandjon): Replace by @builtins//:exports once BzlLoadFunction can resolve the @builtins
+    // namespace.
     SkyKey exportsKey =
-        StarlarkImportLookupValue.packageBzlKey(
+        BzlLoadValue.packageBzlKey(
             Label.parseAbsoluteUnchecked("//tools/builtins_staging:exports.bzl"));
-    StarlarkImportLookupValue exportsValue = (StarlarkImportLookupValue) env.getValue(exportsKey);
+    BzlLoadValue exportsValue = (BzlLoadValue) env.getValue(exportsKey);
     if (exportsValue == null) {
       return null;
     }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsValue.java
index e53db49..2cf1e44 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsValue.java
@@ -24,7 +24,7 @@
  * pseudo-repository.
  *
  * <p>These are parsed from {@code @builtins//:exports.bzl}, but not validated until they're used by
- * {@link PackageFunction} and {@link StarlarkImportLookupFunction}.
+ * {@link PackageFunction} and {@link BzlLoadFunction}.
  */
 public final class StarlarkBuiltinsValue implements SkyValue {
 
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkModuleCycleReporter.java b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkModuleCycleReporter.java
index 83c773d..1a53ebb 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkModuleCycleReporter.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/StarlarkModuleCycleReporter.java
@@ -33,7 +33,7 @@
 public class StarlarkModuleCycleReporter implements CyclesReporter.SingleCycleReporter {
 
   private static final Predicate<SkyKey> IS_STARLARK_MODULE_SKY_KEY =
-      SkyFunctions.isSkyFunction(SkyFunctions.STARLARK_IMPORTS_LOOKUP);
+      SkyFunctions.isSkyFunction(SkyFunctions.BZL_LOAD);
 
   private static final Predicate<SkyKey> IS_PACKAGE_SKY_KEY =
       SkyFunctions.isSkyFunction(SkyFunctions.PACKAGE);
@@ -50,8 +50,8 @@
   private static final Predicate<SkyKey> IS_REPOSITORY_DIRECTORY =
       SkyFunctions.isSkyFunction(SkyFunctions.REPOSITORY_DIRECTORY);
 
-  private static final Predicate<SkyKey> IS_STARLARK_IMPORTS_LOOKUP =
-      SkyFunctions.isSkyFunction(SkyFunctions.STARLARK_IMPORTS_LOOKUP);
+  private static final Predicate<SkyKey> IS_BZL_LOAD =
+      SkyFunctions.isSkyFunction(SkyFunctions.BZL_LOAD);
 
   private static final Predicate<SkyKey> IS_EXTERNAL_PACKAGE =
       SkyFunctions.isSkyFunction(SkyFunctions.EXTERNAL_PACKAGE);
@@ -95,8 +95,8 @@
           new Function<SkyKey, String>() {
             @Override
             public String apply(SkyKey input) {
-              if (input.argument() instanceof StarlarkImportLookupValue.Key) {
-                return ((StarlarkImportLookupValue.Key) input.argument()).getLabel().toString();
+              if (input.argument() instanceof BzlLoadValue.Key) {
+                return ((BzlLoadValue.Key) input.argument()).getLabel().toString();
               } else if (input.argument() instanceof PackageIdentifier) {
                 return ((PackageIdentifier) input.argument()) + "/BUILD";
               } else if (input.argument() instanceof WorkspaceFileValue.WorkspaceFileKey) {
@@ -158,11 +158,9 @@
 
       StringBuilder message = new StringBuilder();
 
-      if (Iterables.any(cycle, IS_STARLARK_IMPORTS_LOOKUP)) {
+      if (Iterables.any(cycle, IS_BZL_LOAD)) {
         Label fileLabel =
-            ((StarlarkImportLookupValue.Key)
-                    Iterables.getLast(Iterables.filter(cycle, IS_STARLARK_IMPORTS_LOOKUP)))
-                .getLabel();
+            ((BzlLoadValue.Key) Iterables.getLast(Iterables.filter(cycle, IS_BZL_LOAD))).getLabel();
         message.append("Failed to load Starlark extension '").append(fileLabel).append("'.\n");
       }
 
@@ -193,11 +191,9 @@
       // repositories were defined.
       requestRepoDefinitions(eventHandler, repos);
       return true;
-    } else if (Iterables.any(cycle, IS_STARLARK_IMPORTS_LOOKUP)) {
+    } else if (Iterables.any(cycle, IS_BZL_LOAD)) {
       Label fileLabel =
-          ((StarlarkImportLookupValue.Key)
-                  Iterables.getLast(Iterables.filter(cycle, IS_STARLARK_IMPORTS_LOOKUP)))
-              .getLabel();
+          ((BzlLoadValue.Key) Iterables.getLast(Iterables.filter(cycle, IS_BZL_LOAD))).getLabel();
       eventHandler.handle(
           Event.error(null, "Failed to load Starlark extension '" + fileLabel + "'.\n"));
         return true;
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
index 0edfd38..4188a18 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceFileFunction.java
@@ -26,7 +26,7 @@
 import com.google.devtools.build.lib.packages.WorkspaceFactory;
 import com.google.devtools.build.lib.packages.WorkspaceFileValue;
 import com.google.devtools.build.lib.packages.WorkspaceFileValue.WorkspaceFileKey;
-import com.google.devtools.build.lib.skyframe.PackageFunction.StarlarkImportResult;
+import com.google.devtools.build.lib.skyframe.PackageFunction.BzlLoadResult;
 import com.google.devtools.build.lib.syntax.Module;
 import com.google.devtools.build.lib.syntax.Mutability;
 import com.google.devtools.build.lib.syntax.StarlarkFile;
@@ -45,18 +45,18 @@
   private final PackageFactory packageFactory;
   private final BlazeDirectories directories;
   private final RuleClassProvider ruleClassProvider;
-  private final StarlarkImportLookupFunction starlarkImportLookupFunctionForInlining;
+  private final BzlLoadFunction bzlLoadFunctionForInlining;
   private static final PackageIdentifier rootPackage = PackageIdentifier.createInMainRepo("");
 
   public WorkspaceFileFunction(
       RuleClassProvider ruleClassProvider,
       PackageFactory packageFactory,
       BlazeDirectories directories,
-      StarlarkImportLookupFunction starlarkImportLookupFunctionForInlining) {
+      BzlLoadFunction bzlLoadFunctionForInlining) {
     this.packageFactory = packageFactory;
     this.directories = directories;
     this.ruleClassProvider = ruleClassProvider;
-    this.starlarkImportLookupFunctionForInlining = starlarkImportLookupFunctionForInlining;
+    this.bzlLoadFunctionForInlining = bzlLoadFunctionForInlining;
   }
 
   @Override
@@ -84,7 +84,7 @@
         return new WorkspaceFileValue(
             /* pkg = */ builder.build(),
             /* loadedModules = */ ImmutableMap.<String, Module>of(),
-            /* importToChunkMap = */ ImmutableMap.<String, Integer>of(),
+            /* loadToChunkMap = */ ImmutableMap.<String, Integer>of(),
             /* bindings = */ ImmutableMap.<String, Object>of(),
             workspaceFile,
             /* idx = */ 0, // first fragment
@@ -123,19 +123,19 @@
             prevValue.getPackage(), prevValue.getLoadedModules(), prevValue.getBindings());
       }
       StarlarkFile ast = workspaceASTValue.getASTs().get(key.getIndex());
-      StarlarkImportResult importResult =
-          PackageFunction.fetchImportsFromBuildFile(
+      BzlLoadResult loadResult =
+          PackageFunction.fetchLoadsFromBuildFile(
               workspaceFile,
               rootPackage,
               /*repoMapping=*/ ImmutableMap.of(),
               ast,
               key.getIndex(),
               env,
-              starlarkImportLookupFunctionForInlining);
-      if (importResult == null) {
+              bzlLoadFunctionForInlining);
+      if (loadResult == null) {
         return null;
       }
-      parser.execute(ast, importResult.loadedModules, key);
+      parser.execute(ast, loadResult.loadedModules, key);
     } catch (NoSuchPackageException e) {
       throw new WorkspaceFileFunctionException(e, Transience.PERSISTENT);
     } catch (NameConflictException e) {
@@ -146,7 +146,7 @@
       return new WorkspaceFileValue(
           builder.build(),
           parser.getLoadedModules(),
-          createImportToChunkMap(prevValue, parser, key),
+          createLoadToChunkMap(prevValue, parser, key),
           parser.getVariableBindings(),
           workspaceFile,
           key.getIndex(),
@@ -159,10 +159,11 @@
   }
 
   /**
-   * This returns a map from import statement to the chunk the
-   * import statement originated from.
+   * This returns a map from load statement to the chunk the load statement originated from.
    *
-   * For example, if the WORKSPACE file looked like the following:
+   * <p>For example, if the WORKSPACE file looked like the following:
+   *
+   * <pre>
    * load(":a.bzl", "a")
    * x = 0
    * load(":b.bzl", "b")
@@ -170,12 +171,13 @@
    * load(":a.bzl", "a1")
    * load(":c.bzl", "c")
    * x = 2
+   * </pre>
    *
-   * Then the map for chunk 0 would be: {@code {":a.bzl" : 0}}
-   * for chunk 1 would be: {@code {":a.bzl" : 0, ":b.bzl" : 1}}
-   * for chunk 2 would be: {@code {":a.bzl" : 0, ":b.bzl" : 1, ":c.bzl" : 2}}
+   * Then the map for chunk 0 would be {@code {":a.bzl" : 0}}, for chunk 1 it'd be: {@code {":a.bzl"
+   * : 0, ":b.bzl" : 1}}, and for chunk 2 it'd be: {@code {":a.bzl" : 0, ":b.bzl" : 1, ":c.bzl" :
+   * 2}}
    */
-  private ImmutableMap<String, Integer> createImportToChunkMap(
+  private static ImmutableMap<String, Integer> createLoadToChunkMap(
       WorkspaceFileValue prevValue, WorkspaceFactory parser, WorkspaceFileKey key) {
     ImmutableMap.Builder<String, Integer> builder = new ImmutableMap.Builder<String, Integer>();
     if (prevValue == null) {
@@ -183,9 +185,9 @@
         builder.put(loadString, key.getIndex());
       }
     } else {
-      builder.putAll(prevValue.getImportToChunkMap());
+      builder.putAll(prevValue.getLoadToChunkMap());
       for (String label : parser.getLoadedModules().keySet()) {
-        if (!prevValue.getImportToChunkMap().containsKey(label)) {
+        if (!prevValue.getLoadToChunkMap().containsKey(label)) {
           builder.put(label, key.getIndex());
         }
       }
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java b/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java
index d8fd5d6..25e2735 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java
@@ -45,6 +45,7 @@
 import com.google.devtools.build.lib.repository.ExternalPackageHelper;
 import com.google.devtools.build.lib.skyframe.ASTFileLookupFunction;
 import com.google.devtools.build.lib.skyframe.BlacklistedPackagePrefixesFunction;
+import com.google.devtools.build.lib.skyframe.BzlLoadFunction;
 import com.google.devtools.build.lib.skyframe.ContainingPackageLookupFunction;
 import com.google.devtools.build.lib.skyframe.ExternalFilesHelper;
 import com.google.devtools.build.lib.skyframe.ExternalFilesHelper.ExternalFileAction;
@@ -66,7 +67,6 @@
 import com.google.devtools.build.lib.skyframe.PrecomputedValue;
 import com.google.devtools.build.lib.skyframe.RepositoryMappingFunction;
 import com.google.devtools.build.lib.skyframe.SkyFunctions;
-import com.google.devtools.build.lib.skyframe.StarlarkImportLookupFunction;
 import com.google.devtools.build.lib.skyframe.WorkspaceASTFunction;
 import com.google.devtools.build.lib.skyframe.WorkspaceFileFunction;
 import com.google.devtools.build.lib.skyframe.WorkspaceNameFunction;
@@ -444,8 +444,8 @@
             SkyFunctions.AST_FILE_LOOKUP,
             new ASTFileLookupFunction(ruleClassProvider, digestHashFunction))
         .put(
-            SkyFunctions.STARLARK_IMPORTS_LOOKUP,
-            StarlarkImportLookupFunction.create(
+            SkyFunctions.BZL_LOAD,
+            BzlLoadFunction.create(
                 ruleClassProvider,
                 pkgFactory,
                 digestHashFunction,
@@ -455,10 +455,7 @@
         .put(
             WorkspaceFileValue.WORKSPACE_FILE,
             new WorkspaceFileFunction(
-                ruleClassProvider,
-                pkgFactory,
-                directories,
-                /*starlarkImportLookupFunctionForInlining=*/ null))
+                ruleClassProvider, pkgFactory, directories, /*bzlLoadFunctionForInlining=*/ null))
         .put(SkyFunctions.EXTERNAL_PACKAGE, new ExternalPackageFunction(getExternalPackageHelper()))
         .put(SkyFunctions.REPOSITORY_MAPPING, new RepositoryMappingFunction())
         .put(
@@ -470,7 +467,7 @@
                 packageFunctionCache,
                 astCache,
                 /*numPackagesLoaded=*/ new AtomicInteger(0),
-                /*starlarkImportLookupFunctionForInlining=*/ null,
+                /*bzlLoadFunctionForInlining=*/ null,
                 /*packageProgress=*/ null,
                 getActionOnIOExceptionReadingBuildFile(),
                 // Tell PackageFunction to optimize for our use-case of no incrementality.
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/Eval.java b/src/main/java/com/google/devtools/build/lib/syntax/Eval.java
index 0c3c3bf..edaf815 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/Eval.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/Eval.java
@@ -55,7 +55,7 @@
         return flow;
       }
 
-      // Hack for StarlarkImportLookupFunction's "export" semantics.
+      // Hack for BzlLoadFunction's "export" semantics.
       // We enable it only for statements outside any function (isToplevelFunction)
       // and outside any if- or for- statements (!indented).
       if (isToplevelFunction && !indented && fr.thread.postAssignHook != null) {
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkThread.java b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkThread.java
index 5320e0f..c7c5d0e 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/StarlarkThread.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/StarlarkThread.java
@@ -350,9 +350,8 @@
    * Specifies a hook function to be run after each assignment at top level.
    *
    * <p>This is a short-term hack to allow us to consolidate all StarlarkFile execution in one place
-   * even while StarlarkImportLookupFunction implements the old "export" behavior, in which rules,
-   * aspects and providers are "exported" as soon as they are assigned, not at the end of file
-   * execution.
+   * even while BzlLoadFunction implements the old "export" behavior, in which rules, aspects and
+   * providers are "exported" as soon as they are assigned, not at the end of file execution.
    */
   public void setPostAssignHook(PostAssignHook postAssignHook) {
     this.postAssignHook = postAssignHook;