summaryrefslogtreecommitdiff
path: root/compiler/driver/compiler_options.cc
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2019-07-29 10:18:25 +0100
committer Vladimir Marko <vmarko@google.com> 2019-07-30 14:49:54 +0000
commit44ca0754b3c6f11303bac876a9175bbfa95609ef (patch)
tree6f669466e6b0e750a075108cc6f8fe0a67b66658 /compiler/driver/compiler_options.cc
parentf3677471a58c2738a3d9dd05f07f01c18a5e61be (diff)
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
Diffstat (limited to 'compiler/driver/compiler_options.cc')
-rw-r--r--compiler/driver/compiler_options.cc17
1 files changed, 11 insertions, 6 deletions
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 <string_view>
#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