Replace StringPiece with std::string_view in HashSet.
Update HashSet comment and related code. Also remove dead
CompilerOptions declarations with StringPiece parameters.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Bug: 123750182
Change-Id: I4a39d0e8e0392a414129369c5b304ec4813e9ed5
diff --git a/compiler/driver/compiler_driver.cc b/compiler/driver/compiler_driver.cc
index d46cffb..56333b6 100644
--- a/compiler/driver/compiler_driver.cc
+++ b/compiler/driver/compiler_driver.cc
@@ -17,13 +17,15 @@
#include "compiler_driver.h"
#include <unistd.h>
-#include <unordered_set>
-#include <vector>
#ifndef __APPLE__
#include <malloc.h> // For mallinfo
#endif
+#include <string_view>
+#include <unordered_set>
+#include <vector>
+
#include "android-base/logging.h"
#include "android-base/strings.h"
@@ -35,6 +37,7 @@
#include "base/enums.h"
#include "base/logging.h" // For VLOG
#include "base/stl_util.h"
+#include "base/string_view_cpp20.h"
#include "base/systrace.h"
#include "base/time_utils.h"
#include "base/timing_logger.h"
@@ -1154,7 +1157,7 @@
const PointerSize pointer_size = Runtime::Current()->GetClassLinker()->GetImagePointerSize();
while (!klass->IsObjectClass()) {
const char* descriptor = klass->GetDescriptor(&temp);
- if (image_classes->find(StringPiece(descriptor)) != image_classes->end()) {
+ if (image_classes->find(std::string_view(descriptor)) != image_classes->end()) {
break; // Previously inserted.
}
image_classes->insert(descriptor);
@@ -1236,7 +1239,7 @@
bool operator()(ObjPtr<mirror::Class> klass) override REQUIRES_SHARED(Locks::mutator_lock_) {
std::string temp;
- StringPiece name(klass->GetDescriptor(&temp));
+ std::string_view name(klass->GetDescriptor(&temp));
auto it = data_->image_class_descriptors_->find(name);
if (it != data_->image_class_descriptors_->end()) {
if (LIKELY(klass->IsResolved())) {
@@ -2226,7 +2229,7 @@
// We need to initialize static fields, we only do this for image classes that aren't
// marked with the $NoPreloadHolder (which implies this should not be initialized
// early).
- can_init_static_fields = !StringPiece(descriptor).ends_with("$NoPreloadHolder;");
+ can_init_static_fields = !EndsWith(std::string_view(descriptor), "$NoPreloadHolder;");
} else {
CHECK(is_app_image);
// The boot image case doesn't need to recursively initialize the dependencies with
diff --git a/compiler/driver/compiler_options.cc b/compiler/driver/compiler_options.cc
index 8d1ae3d..7dd743f 100644
--- a/compiler/driver/compiler_options.cc
+++ b/compiler/driver/compiler_options.cc
@@ -17,6 +17,7 @@
#include "compiler_options.h"
#include <fstream>
+#include <string_view>
#include "android-base/stringprintf.h"
@@ -144,7 +145,7 @@
// Historical note: We used to hold the set indirectly and there was a distinction between an
// empty set and a null, null meaning to include all classes. However, the distiction has been
// removed; if we don't have a profile, we treat it as an empty set of classes. b/77340429
- return image_classes_.find(StringPiece(descriptor)) != image_classes_.end();
+ return image_classes_.find(std::string_view(descriptor)) != image_classes_.end();
}
const VerificationResults* CompilerOptions::GetVerificationResults() const {
diff --git a/compiler/driver/compiler_options.h b/compiler/driver/compiler_options.h
index bd12bf7..fccd9ca 100644
--- a/compiler/driver/compiler_options.h
+++ b/compiler/driver/compiler_options.h
@@ -361,13 +361,6 @@
private:
bool ParseDumpInitFailures(const std::string& option, std::string* error_msg);
- void ParseDumpCfgPasses(const StringPiece& option, UsageFn Usage);
- void ParseInlineMaxCodeUnits(const StringPiece& option, UsageFn Usage);
- void ParseNumDexMethods(const StringPiece& option, UsageFn Usage);
- void ParseTinyMethodMax(const StringPiece& option, UsageFn Usage);
- void ParseSmallMethodMax(const StringPiece& option, UsageFn Usage);
- void ParseLargeMethodMax(const StringPiece& option, UsageFn Usage);
- void ParseHugeMethodMax(const StringPiece& option, UsageFn Usage);
bool ParseRegisterAllocationStrategy(const std::string& option, std::string* error_msg);
CompilerFilter::Filter compiler_filter_;