[Lldb-commits] [lldb] 9e6d48e - [lldb][NFCI] Module constructor should take ConstString by value
Alex Langford via lldb-commits
lldb-commits at lists.llvm.org
Thu Aug 17 10:40:20 PDT 2023
Author: Alex Langford
Date: 2023-08-17T10:34:57-07:00
New Revision: 9e6d48ef6085b762d8eb2531bbb481f57446da1c
URL: https://github.com/llvm/llvm-project/commit/9e6d48ef6085b762d8eb2531bbb481f57446da1c
DIFF: https://github.com/llvm/llvm-project/commit/9e6d48ef6085b762d8eb2531bbb481f57446da1c.diff
LOG: [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
Added:
Modified:
lldb/include/lldb/Core/Module.h
lldb/source/Core/Module.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
Removed:
################################################################################
diff --git a/lldb/include/lldb/Core/Module.h b/lldb/include/lldb/Core/Module.h
index 67e15120f5e786..51f01305b7d50f 100644
--- a/lldb/include/lldb/Core/Module.h
+++ b/lldb/include/lldb/Core/Module.h
@@ -124,8 +124,7 @@ class Module : public std::enable_shared_from_this<Module>,
/// 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);
diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp
index 4b74929d671467..96c1411010b073 100644
--- a/lldb/source/Core/Module.cpp
+++ b/lldb/source/Core/Module.cpp
@@ -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')",
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
index 59b8f167f7c611..eadedd32e1a4aa 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
@@ -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() &&
More information about the lldb-commits
mailing list