summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--artd/artd.cc6
-rw-r--r--artd/artd_test.cc7
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));