diff options
author | Jiakai Zhang <jiakaiz@google.com> | 2024-04-26 16:50:27 +0100 |
---|---|---|
committer | Jiakai Zhang <jiakaiz@google.com> | 2024-05-02 12:59:51 +0000 |
commit | ed9f6fc5e495eb73e7892cd43fa9c379d2a880b6 (patch) | |
tree | f53d42a27ec8caab7f97d5e7bb140b4279621957 | |
parent | e679afd5437f87cbbd5e735a1da707e32d550147 (diff) | |
download | art-master.tar.gz |
Bug: 336855626
Test: m test-art-host-gtest-art_artd_tests
Change-Id: I5df2910e03123c0e4c825da596fa2410d055994f
-rw-r--r-- | artd/artd.cc | 6 | ||||
-rw-r--r-- | artd/artd_test.cc | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/artd/artd.cc b/artd/artd.cc index 0c9b69a697..c391f5099d 100644 --- a/artd/artd.cc +++ b/artd/artd.cc @@ -117,6 +117,7 @@ using ::android::base::ReadFileToString; using ::android::base::Result; using ::android::base::Split; using ::android::base::StringReplace; +using ::android::base::Tokenize; using ::android::base::WriteStringToFd; using ::android::base::WriteStringToFile; using ::android::fs_mgr::FstabEntry; @@ -1645,6 +1646,11 @@ void Artd::AddPerfConfigFlags(PriorityClass priority_class, // It takes longer but reduces the memory footprint. dex2oat_args.AddIf(props_->GetBool("ro.config.low_ram", /*default_value=*/false), "--compile-individually"); + + for (const std::string& flag : + Tokenize(props_->GetOrEmpty("dalvik.vm.dex2oat-flags"), /*delimiters=*/" ")) { + dex2oat_args.AddIfNonEmpty("%s", flag); + } } Result<int> Artd::ExecAndReturnCode(const std::vector<std::string>& args, diff --git a/artd/artd_test.cc b/artd/artd_test.cc index fb99bbb60b..858fd9909b 100644 --- a/artd/artd_test.cc +++ b/artd/artd_test.cc @@ -943,6 +943,8 @@ TEST_F(ArtdTest, dexoptFlagsFromSystemProps) { EXPECT_CALL(*mock_props_, GetProperty("ro.config.low_ram")).WillOnce(Return("1")); EXPECT_CALL(*mock_props_, GetProperty("dalvik.vm.appimageformat")).WillOnce(Return("imgfmt")); EXPECT_CALL(*mock_props_, GetProperty("dalvik.vm.boot-image")).WillOnce(Return("boot-image")); + EXPECT_CALL(*mock_props_, GetProperty("dalvik.vm.dex2oat-flags")) + .WillOnce(Return("--flag1 --flag2 --flag3")); EXPECT_CALL(*mock_exec_utils_, DoExecAndReturnCode( @@ -962,7 +964,10 @@ TEST_F(ArtdTest, dexoptFlagsFromSystemProps) { Contains("--compile-individually"), Contains(Flag("--image-format=", "imgfmt")), Not(Contains("--force-jit-zygote")), - Contains(Flag("--boot-image=", "boot-image")))), + Contains(Flag("--boot-image=", "boot-image")), + Contains("--flag1"), + Contains("--flag2"), + Contains("--flag3"))), _, _)) .WillOnce(Return(0)); |