Compile the entire bootclasspath on device.

Most of the changes in this CL are renaming and comment changes. The
main behavior changes are:
1. Adding all bootclasspath jars (including the ones in the ART APEX) to
   `--dex-file` and `--dex-fd`.
2. Adding both the ART boot profile and the framework profile to
   `--profile-fd`.
3. Replacing the `--boot-image` flag with `--base` for compiling boot
   classpath jars.
4. Renaming the boot image on /data from `boot-framework.art` to
   `boot.art`.
5. Updating the `--boot-image` flag for compiling system_server jars.
6. Updating the default boot image location that the runtime uses.

Bug: 203492478
Test: atest art_standalone_odrefresh_tests
Test: atest art_standalone_artd_tests
Test: atest odsign_e2e_tests
Change-Id: If56bc96ec6f38335f3e8e1ad3085e231baacb6fc
diff --git a/odrefresh/odrefresh.h b/odrefresh/odrefresh.h
index 88162a3..d749b2b 100644
--- a/odrefresh/odrefresh.h
+++ b/odrefresh/odrefresh.h
@@ -43,8 +43,8 @@
   // If true, update the cache info only and do not compile anything.
   bool update_cache_info_only = false;
 
-  // If not empty, compile the bootclasspath extensions for ISAs in the list.
-  std::vector<InstructionSet> compile_boot_extensions_for_isas;
+  // If not empty, compile the bootclasspath jars for ISAs in the list.
+  std::vector<InstructionSet> compile_boot_classpath_for_isas;
 
   // If not empty, compile the system server jars in the list.
   std::set<std::string> system_server_jars_to_compile;
@@ -60,8 +60,7 @@
                   std::unique_ptr<ExecUtils> exec_utils,
                   std::unique_ptr<OdrDexopt> odr_dexopt);
 
-  // Returns the exit code, a list of ISAs that boot extensions should be compiled for, and a
-  // boolean indicating whether the system server should be compiled.
+  // Returns the exit code and specifies what should be compiled in `compilation_options`.
   WARN_UNUSED ExitCode
   CheckArtifactsAreUpToDate(OdrMetrics& metrics,
                             /*out*/ CompilationOptions* compilation_options) const;
@@ -94,13 +93,23 @@
 
   std::vector<com::android::art::Component> GenerateBootClasspathComponents() const;
 
-  std::vector<com::android::art::Component> GenerateBootExtensionCompilableComponents() const;
+  std::vector<com::android::art::Component> GenerateBootClasspathCompilableComponents() const;
 
   std::vector<com::android::art::SystemServerComponent> GenerateSystemServerComponents() const;
 
-  std::string GetBootImageExtensionImage(bool on_system) const;
+  // Returns the symbolic boot image location (without ISA).
+  std::string GetBootImage(bool on_system) const;
 
-  std::string GetBootImageExtensionImagePath(bool on_system, const InstructionSet isa) const;
+  // Returns the real boot image location (with ISA).
+  std::string GetBootImagePath(bool on_system, const InstructionSet isa) const;
+
+  // Returns the symbolic boot image extension location (without ISA). Note that this only applies
+  // to boot images on /system.
+  std::string GetSystemBootImageExtension() const;
+
+  // Returns the real boot image location extension (with ISA). Note that this only applies to boot
+  // images on /system.
+  std::string GetSystemBootImageExtensionPath(const InstructionSet isa) const;
 
   std::string GetSystemServerImagePath(bool on_system, const std::string& jar_path) const;
 
@@ -113,10 +122,10 @@
   // artifacts to fs-verity.
   android::base::Result<void> RefreshExistingArtifacts() const;
 
-  // Checks whether all boot extension artifacts are present. Returns true if all are present, false
+  // Checks whether all boot classpath artifacts are present. Returns true if all are present, false
   // otherwise.
   // If `checked_artifacts` is present, adds checked artifacts to `checked_artifacts`.
-  WARN_UNUSED bool BootExtensionArtifactsExist(
+  WARN_UNUSED bool BootClasspathArtifactsExist(
       bool on_system,
       const InstructionSet isa,
       /*out*/ std::string* error_msg,
@@ -132,10 +141,10 @@
       /*out*/ std::set<std::string>* jars_missing_artifacts,
       /*out*/ std::vector<std::string>* checked_artifacts = nullptr) const;
 
-  // Checks whether all boot extension artifacts are up to date. Returns true if all are present,
+  // Checks whether all boot classpath artifacts are up to date. Returns true if all are present,
   // false otherwise.
   // If `checked_artifacts` is present, adds checked artifacts to `checked_artifacts`.
-  WARN_UNUSED bool CheckBootExtensionArtifactsAreUpToDate(
+  WARN_UNUSED bool CheckBootClasspathArtifactsAreUpToDate(
       OdrMetrics& metrics,
       const InstructionSet isa,
       const com::android::apex::ApexInfo& art_apex_info,
@@ -153,7 +162,7 @@
       /*out*/ std::set<std::string>* jars_to_compile,
       /*out*/ std::vector<std::string>* checked_artifacts) const;
 
-  WARN_UNUSED bool CompileBootExtensionArtifacts(const InstructionSet isa,
+  WARN_UNUSED bool CompileBootClasspathArtifacts(const InstructionSet isa,
                                                  const std::string& staging_dir,
                                                  OdrMetrics& metrics,
                                                  const std::function<void()>& on_dex2oat_success,
@@ -172,8 +181,8 @@
   // Path to cache information file that is used to speed up artifact checking.
   const std::string cache_info_filename_;
 
-  // List of boot extension components that should be compiled.
-  std::vector<std::string> boot_extension_compilable_jars_;
+  // List of boot classpath components that should be compiled.
+  std::vector<std::string> boot_classpath_compilable_jars_;
 
   // Set of system_server components in SYSTEMSERVERCLASSPATH that should be compiled.
   std::unordered_set<std::string> systemserver_classpath_jars_;