summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odrefresh/odrefresh.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/odrefresh/odrefresh.cc b/odrefresh/odrefresh.cc
index cda39eee04..2cef50dfb2 100644
--- a/odrefresh/odrefresh.cc
+++ b/odrefresh/odrefresh.cc
@@ -1139,7 +1139,13 @@ class OnDeviceRefresh final {
AddDex2OatInstructionSet(&args, isa);
const std::string jar_name(android::base::Basename(jar));
const std::string profile = Concatenate({GetAndroidRoot(), "/framework/", jar_name, ".prof"});
- AddDex2OatProfileAndCompilerFilter(&args, profile);
+ std::string compiler_filter =
+ android::base::GetProperty("dalvik.vm.systemservercompilerfilter", "speed");
+ if (compiler_filter == "speed-profile") {
+ AddDex2OatProfileAndCompilerFilter(&args, profile);
+ } else {
+ args.emplace_back("--compiler-filter=" + compiler_filter);
+ }
const std::string image_location = GetSystemServerImagePath(/*on_system=*/false, jar);
const std::string install_location = android::base::Dirname(image_location);