Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2cb4a053 authored by Nicolas Geoffray's avatar Nicolas Geoffray Committed by Gerrit Code Review
Browse files

Merge "Query the enable_apex_image flag from native experiment."

parents 99ba1186 aaad21e2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ cc_defaults {
        "libprocessgroup",
        "libselinux",
        "libutils",
        "server_configurable_flags",
    ],

    product_variables: {
@@ -225,6 +226,7 @@ cc_binary {
        "libprocessgroup",
        "libselinux",
        "libutils",
        "server_configurable_flags",
    ],
}

+18 −1
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@
#include <private/android_filesystem_config.h>
#include <processgroup/sched_policy.h>
#include <selinux/android.h>
#include <server_configurable_flags/get_flags.h>
#include <system/thread_defs.h>

#include "dexopt.h"
@@ -260,6 +261,13 @@ static std::string MapPropertyToArg(const std::string& property,
  return "";
}

// Namespace for Android Runtime flags applied during boot time.
static const char* RUNTIME_NATIVE_BOOT_NAMESPACE = "runtime_native_boot";
// Feature flag name for running the JIT in Zygote experiment, b/119800099.
static const char* ENABLE_APEX_IMAGE = "enable_apex_image";
// Location of the apex image.
static const char* kApexImage = "/system/framework/apex.art";

class RunDex2Oat : public ExecVHelper {
  public:
    RunDex2Oat(int zip_fd,
@@ -352,7 +360,16 @@ class RunDex2Oat : public ExecVHelper {
        bool generate_minidebug_info = kEnableMinidebugInfo &&
                GetBoolProperty(kMinidebugInfoSystemProperty, kMinidebugInfoSystemPropertyDefault);

        std::string boot_image = MapPropertyToArg("dalvik.vm.boot-image", "-Ximage:%s");
        std::string boot_image;
        std::string use_apex_image =
            server_configurable_flags::GetServerConfigurableFlag(RUNTIME_NATIVE_BOOT_NAMESPACE,
                                                                 ENABLE_APEX_IMAGE,
                                                                 /*default_value=*/ "");
        if (use_apex_image == "true") {
          boot_image = StringPrintf("-Ximage:%s", kApexImage);
        } else {
          boot_image = MapPropertyToArg("dalvik.vm.boot-image", "-Ximage:%s");
        }

        // clang FORTIFY doesn't let us use strlen in constant array bounds, so we
        // use arraysize instead.
+4 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ cc_test {
        "libprocessgroup",
        "libselinux",
        "libutils",
        "server_configurable_flags",
    ],
    static_libs: [
        "libdiskusage",
@@ -54,6 +55,7 @@ cc_test {
        "libprocessgroup",
        "libselinux",
        "libutils",
        "server_configurable_flags",
    ],
    static_libs: [
        "libdiskusage",
@@ -77,6 +79,7 @@ cc_test {
        "libprocessgroup",
        "libselinux",
        "libutils",
        "server_configurable_flags",
    ],
    static_libs: [
        "libdiskusage",
@@ -96,6 +99,7 @@ cc_test {
        "libbase",
        "libcutils",
        "libutils",
        "server_configurable_flags",
    ],
    static_libs: [
        "liblog",