From 44ca0754b3c6f11303bac876a9175bbfa95609ef Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Mon, 29 Jul 2019 10:18:25 +0100 Subject: Compiler changes for boot image extension. Test: m test-art-host-gtest Test: testrunnner.py --host --optimizing Test: aosp_taimen-userdebug boots. Test: run-gtest.sh Test: testrunner.py --target --optimizing Change-Id: I8e999c96ec908f26d8c529edc9d2a3be49a9379a --- compiler/driver/compiler_options.cc | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'compiler/driver/compiler_options.cc') diff --git a/compiler/driver/compiler_options.cc b/compiler/driver/compiler_options.cc index 8d099770bc..cde6ae9330 100644 --- a/compiler/driver/compiler_options.cc +++ b/compiler/driver/compiler_options.cc @@ -20,11 +20,11 @@ #include #include "android-base/stringprintf.h" -#include "android-base/strings.h" #include "arch/instruction_set.h" #include "arch/instruction_set_features.h" #include "base/runtime_debug.h" +#include "base/string_view_cpp20.h" #include "base/variant_map.h" #include "class_linker.h" #include "cmdline_parser.h" @@ -185,18 +185,23 @@ bool CompilerOptions::IsMethodVerifiedWithoutFailures(uint32_t method_idx, } bool CompilerOptions::IsCoreImageFilename(const std::string& boot_image_filename) { + std::string_view filename(boot_image_filename); + size_t colon_pos = filename.find(':'); + if (colon_pos != std::string_view::npos) { + filename = filename.substr(0u, colon_pos); + } // Look for "core.art" or "core-*.art". - if (android::base::EndsWith(boot_image_filename, "core.art")) { + if (EndsWith(filename, "core.art")) { return true; } - if (!android::base::EndsWith(boot_image_filename, ".art")) { + if (!EndsWith(filename, ".art")) { return false; } - size_t slash_pos = boot_image_filename.rfind('/'); + size_t slash_pos = filename.rfind('/'); if (slash_pos == std::string::npos) { - return android::base::StartsWith(boot_image_filename, "core-"); + return StartsWith(filename, "core-"); } - return boot_image_filename.compare(slash_pos + 1, 5u, "core-") == 0; + return filename.compare(slash_pos + 1, 5u, "core-") == 0; } } // namespace art -- cgit v1.2.3-59-g8ed1b