diff options
-rw-r--r-- | odrefresh/odrefresh.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/odrefresh/odrefresh.cc b/odrefresh/odrefresh.cc index cda39eee04..e9c0c637bb 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", {}); + if (compiler_filter == "speed-profile") { + AddDex2OatProfileAndCompilerFilter(&args, profile); + } else { + args.emplace_back("--compiler-filter=speed"); + } const std::string image_location = GetSystemServerImagePath(/*on_system=*/false, jar); const std::string install_location = android::base::Dirname(image_location); |