Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a27559e7 authored by yawanng's avatar yawanng Committed by Yan Wang
Browse files

Dexopt: fix a bug due to unsign int.

Unsign int cannot be negative, use the max value instead.

Bug: 172490638
Test: Make
Change-Id: I084c90e46676f08d6417a05dd916c31cba41d275
parent 7795accb
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -450,16 +450,22 @@ class RunProfman : public ExecVHelper {
            AddArg("--boot-image-merge");
        }

        // The percent won't exceed 100, otherwise, don't set it and use the
        // default one set in profman.
        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) {
            "dalvik.vm.bgdexopt.new-classes-percent",
            /*default*/std::numeric_limits<uint32_t>::max());
        if (min_new_classes_percent_change <= 100) {
          AddArg("--min-new-classes-percent-change=" +
                 std::to_string(min_new_classes_percent_change));
        }

        // The percent won't exceed 100, otherwise, don't set it and use the
        // default one set in profman.
        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) {
            "dalvik.vm.bgdexopt.new-methods-percent",
            /*default*/std::numeric_limits<uint32_t>::max());
        if (min_new_methods_percent_change <= 100) {
          AddArg("--min-new-methods-percent-change=" +
                 std::to_string(min_new_methods_percent_change));
        }