Dexopt: read min new methods/classes percent change from properties.
Cherry-pick from f55d3855ff775bbda427a926cfb030aca2f60bb1
Bug: 172490638
Test:
1) flash locally
2) adb shell setprop name value
3) adb shell stop
4) adb shell start
5) adb shell cmd package compile -r bg-dexopt com.android.phone
Change-Id: I4049b7cecaef8a01eabf29868362065e466327b0
Merged-In: I4049b7cecaef8a01eabf29868362065e466327b0
diff --git a/cmds/installd/dexopt.cpp b/cmds/installd/dexopt.cpp
index 5076ae6..f583c9b 100644
--- a/cmds/installd/dexopt.cpp
+++ b/cmds/installd/dexopt.cpp
@@ -450,6 +450,20 @@
AddArg("--boot-image-merge");
}
+ uint32_t min_new_classes_percent_change = ::android::base::GetUintProperty<uint32_t>(
+ "dalvik.vm.bgdexopt.new-classes-percent", /*default*/-1);
+ if (min_new_classes_percent_change >= 0 && min_new_classes_percent_change <= 100) {
+ AddArg("--min-new-classes-percent-change=" +
+ std::to_string(min_new_classes_percent_change));
+ }
+
+ uint32_t min_new_methods_percent_change = ::android::base::GetUintProperty<uint32_t>(
+ "dalvik.vm.bgdexopt.new-methods-percent", /*default*/-1);
+ if (min_new_methods_percent_change >=0 && min_new_methods_percent_change <= 100) {
+ AddArg("--min-new-methods-percent-change=" +
+ std::to_string(min_new_methods_percent_change));
+ }
+
// Do not add after dex2oat_flags, they should override others for debugging.
PrepareArgs(profman_bin);
}