summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiakai Zhang <jiakaiz@google.com>2021-08-09 03:49:33 +0000
committerJiakai Zhang <jiakaiz@google.com>2021-08-11 00:24:25 +0000
commita2f7d4d842146bc06a2410026d7099d6d5bb8f13 (patch)
tree843fb753d97f9357e342328a4d9a188598a0db03
parent6dcde8681c498f540e58d0e33282a6f67e4bdf1d (diff)
downloadart-a2f7d4d842146bc06a2410026d7099d6d5bb8f13.tar.gz
odrefresh: Defaults to using "speed" for compiling system_server.
Most device builds use the speed configuration for system_server preopt, unless "dalvik.vm.systemservercompilerfilter" is set to "speed-profile". odrefresh should not change this behavior. Bug: 195653499 Test: adb shell odrefresh --force-compile (Found "/apex/com.android.art/bin/dex2oat64 --dex-file=/system/framework/services.jar ... --compiler-filter=speed" in logcat) Test: adb shell setprop dalvik.vm.systemservercompilerfilter speed-profile && adb shell odrefresh --force-compile (Found "/apex/com.android.art/bin/dex2oat64 --dex-file=/system/framework/services.jar ... --profile-file-fd=... --compiler-filter=speed-profile" in logcat) Test: atest odsign_e2e_tests Change-Id: I85feeceef4c1410451765274bd02c634d7d8051f Merged-In: I85feeceef4c1410451765274bd02c634d7d8051f (cherry picked from commit b09a983e8dab0477b2546ed56544d31f575c5d2a)
-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..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);