[lldb][NFCI] Module constructor should take ConstString by value

ConstStrings are super cheap to copy around. It is often more expensive
to pass a pointer and potentially dereference it than just to always copy it.

Differential Revision: https://reviews.llvm.org/D158043
This commit is contained in:
Alex Langford
2023-08-15 18:06:06 -07:00
parent 90c5675a3d
commit 9e6d48ef60
3 changed files with 7 additions and 11 deletions

View File

@@ -124,8 +124,7 @@ public:
/// multiple architectures).
Module(
const FileSpec &file_spec, const ArchSpec &arch,
const ConstString *object_name = nullptr,
lldb::offset_t object_offset = 0,
ConstString object_name = ConstString(), lldb::offset_t object_offset = 0,
const llvm::sys::TimePoint<> &object_mod_time = llvm::sys::TimePoint<>());
Module(const ModuleSpec &module_spec);

View File

@@ -233,12 +233,12 @@ Module::Module(const ModuleSpec &module_spec)
}
Module::Module(const FileSpec &file_spec, const ArchSpec &arch,
const ConstString *object_name, lldb::offset_t object_offset,
ConstString object_name, lldb::offset_t object_offset,
const llvm::sys::TimePoint<> &object_mod_time)
: m_mod_time(FileSystem::Instance().GetModificationTime(file_spec)),
m_arch(arch), m_file(file_spec), m_object_offset(object_offset),
m_object_mod_time(object_mod_time), m_file_has_changed(false),
m_first_file_changed_log(false) {
m_arch(arch), m_file(file_spec), m_object_name(object_name),
m_object_offset(object_offset), m_object_mod_time(object_mod_time),
m_file_has_changed(false), m_first_file_changed_log(false) {
// Scope for locker below...
{
std::lock_guard<std::recursive_mutex> guard(
@@ -246,9 +246,6 @@ Module::Module(const FileSpec &file_spec, const ArchSpec &arch,
GetModuleCollection().push_back(this);
}
if (object_name)
m_object_name = *object_name;
Log *log(GetLog(LLDBLog::Object | LLDBLog::Modules));
if (log != nullptr)
LLDB_LOGF(log, "%p Module::Module((%s) '%s%s%s%s')",

View File

@@ -170,7 +170,7 @@ class DebugMapModule : public Module {
public:
DebugMapModule(const ModuleSP &exe_module_sp, uint32_t cu_idx,
const FileSpec &file_spec, const ArchSpec &arch,
const ConstString *object_name, off_t object_offset,
ConstString object_name, off_t object_offset,
const llvm::sys::TimePoint<> object_mod_time)
: Module(file_spec, arch, object_name, object_offset, object_mod_time),
m_exe_module_wp(exe_module_sp), m_cu_idx(cu_idx) {}
@@ -459,7 +459,7 @@ Module *SymbolFileDWARFDebugMap::GetModuleByCompUnitInfo(
.c_str());
comp_unit_info->oso_sp->module_sp = std::make_shared<DebugMapModule>(
obj_file->GetModule(), GetCompUnitInfoIndex(comp_unit_info), oso_file,
oso_arch, oso_object ? &oso_object : nullptr, 0,
oso_arch, oso_object, 0,
oso_object ? comp_unit_info->oso_mod_time : llvm::sys::TimePoint<>());
if (oso_object && !comp_unit_info->oso_sp->module_sp->GetObjectFile() &&