diff options
author | Jiakai Zhang <jiakaiz@google.com> | 2021-08-09 03:49:33 +0000 |
---|---|---|
committer | Jiakai Zhang <jiakaiz@google.com> | 2021-08-11 00:24:25 +0000 |
commit | a2f7d4d842146bc06a2410026d7099d6d5bb8f13 (patch) | |
tree | 843fb753d97f9357e342328a4d9a188598a0db03 | |
parent | 6dcde8681c498f540e58d0e33282a6f67e4bdf1d (diff) | |
download | art-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.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); |