diff options
Diffstat (limited to 'lldb/source/Core')
-rw-r--r-- | lldb/source/Core/Module.cpp | 33 | ||||
-rw-r--r-- | lldb/source/Core/ModuleList.cpp | 5 | ||||
-rw-r--r-- | lldb/source/Core/SourceManager.cpp | 16 |
3 files changed, 21 insertions, 33 deletions
diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp index 1c3ab6da52a..41981a4daaf 100644 --- a/lldb/source/Core/Module.cpp +++ b/lldb/source/Core/Module.cpp @@ -30,6 +30,7 @@ #include "lldb/Core/Section.h" #include "lldb/Core/StreamString.h" #include "lldb/Core/Timer.h" +#include "lldb/Host/FileSystem.h" #include "lldb/Host/Host.h" #include "lldb/Host/Symbols.h" #include "lldb/Interpreter/CommandInterpreter.h" @@ -139,12 +140,7 @@ namespace lldb { #endif Module::Module(const ModuleSpec &module_spec) - : m_mutex(), m_mod_time(), m_arch(), m_uuid(), m_file(), m_platform_file(), - m_remote_install_file(), m_symfile_spec(), m_object_name(), - m_object_offset(), m_object_mod_time(), m_objfile_sp(), m_symfile_ap(), - m_type_system_map(), m_source_mappings(), m_sections_ap(), - m_did_load_objfile(false), m_did_load_symbol_vendor(false), - m_did_parse_uuid(false), m_file_has_changed(false), + : m_object_offset(0), m_file_has_changed(false), m_first_file_changed_log(false) { // Scope for locker below... { @@ -186,9 +182,10 @@ Module::Module(const ModuleSpec &module_spec) return; if (module_spec.GetFileSpec()) - m_mod_time = module_spec.GetFileSpec().GetModificationTime(); + m_mod_time = FileSystem::GetModificationTime(module_spec.GetFileSpec()); else if (matching_module_spec.GetFileSpec()) - m_mod_time = matching_module_spec.GetFileSpec().GetModificationTime(); + m_mod_time = + FileSystem::GetModificationTime(matching_module_spec.GetFileSpec()); // Copy the architecture from the actual spec if we got one back, else use the // one that was specified @@ -233,12 +230,8 @@ Module::Module(const ModuleSpec &module_spec) Module::Module(const FileSpec &file_spec, const ArchSpec &arch, const ConstString *object_name, lldb::offset_t object_offset, const TimeValue *object_mod_time_ptr) - : m_mutex(), m_mod_time(file_spec.GetModificationTime()), m_arch(arch), - m_uuid(), m_file(file_spec), m_platform_file(), m_remote_install_file(), - m_symfile_spec(), m_object_name(), m_object_offset(object_offset), - m_object_mod_time(), m_objfile_sp(), m_symfile_ap(), m_type_system_map(), - m_source_mappings(), m_sections_ap(), m_did_load_objfile(false), - m_did_load_symbol_vendor(false), m_did_parse_uuid(false), + : m_mod_time(FileSystem::GetModificationTime(file_spec)), m_arch(arch), + m_file(file_spec), m_object_offset(object_offset), m_file_has_changed(false), m_first_file_changed_log(false) { // Scope for locker below... { @@ -264,12 +257,7 @@ Module::Module(const FileSpec &file_spec, const ArchSpec &arch, } Module::Module() - : m_mutex(), m_mod_time(), m_arch(), m_uuid(), m_file(), m_platform_file(), - m_remote_install_file(), m_symfile_spec(), m_object_name(), - m_object_offset(0), m_object_mod_time(), m_objfile_sp(), m_symfile_ap(), - m_type_system_map(), m_source_mappings(), m_sections_ap(), - m_did_load_objfile(false), m_did_load_symbol_vendor(false), - m_did_parse_uuid(false), m_file_has_changed(false), + : m_object_offset(0), m_file_has_changed(false), m_first_file_changed_log(false) { std::lock_guard<std::recursive_mutex> guard( GetAllocationModuleCollectionMutex()); @@ -1076,7 +1064,7 @@ void Module::SetFileSpecAndObjectName(const FileSpec &file, // Container objects whose paths do not specify a file directly can call // this function to correct the file and object names. m_file = file; - m_mod_time = file.GetModificationTime(); + m_mod_time = FileSystem::GetModificationTime(file); m_object_name = object_name; } @@ -1138,7 +1126,8 @@ void Module::ReportError(const char *format, ...) { bool Module::FileHasChanged() const { if (!m_file_has_changed) - m_file_has_changed = (m_file.GetModificationTime() != m_mod_time); + m_file_has_changed = + (FileSystem::GetModificationTime(m_file) != m_mod_time); return m_file_has_changed; } diff --git a/lldb/source/Core/ModuleList.cpp b/lldb/source/Core/ModuleList.cpp index a97be86fae1..e6e64900908 100644 --- a/lldb/source/Core/ModuleList.cpp +++ b/lldb/source/Core/ModuleList.cpp @@ -19,6 +19,7 @@ #include "lldb/Core/Log.h" #include "lldb/Core/Module.h" #include "lldb/Core/ModuleSpec.h" +#include "lldb/Host/FileSystem.h" #include "lldb/Host/Host.h" #include "lldb/Host/Symbols.h" #include "lldb/Symbol/ObjectFile.h" @@ -855,8 +856,8 @@ Error ModuleList::GetSharedModule(const ModuleSpec &module_spec, // If we didn't have a UUID in mind when looking for the object file, // then we should make sure the modification time hasn't changed! if (platform_module_spec.GetUUIDPtr() == nullptr) { - TimeValue file_spec_mod_time( - located_binary_modulespec.GetFileSpec().GetModificationTime()); + TimeValue file_spec_mod_time(FileSystem::GetModificationTime( + located_binary_modulespec.GetFileSpec())); if (file_spec_mod_time.IsValid()) { if (file_spec_mod_time != module_sp->GetModificationTime()) { if (old_module_sp_ptr) diff --git a/lldb/source/Core/SourceManager.cpp b/lldb/source/Core/SourceManager.cpp index f5b56f30768..0959cabf86a 100644 --- a/lldb/source/Core/SourceManager.cpp +++ b/lldb/source/Core/SourceManager.cpp @@ -18,6 +18,7 @@ #include "lldb/Core/Module.h" #include "lldb/Core/RegularExpression.h" #include "lldb/Core/Stream.h" +#include "lldb/Host/FileSystem.h" #include "lldb/Symbol/CompileUnit.h" #include "lldb/Symbol/Function.h" #include "lldb/Symbol/SymbolContext.h" @@ -330,22 +331,19 @@ void SourceManager::FindLinesMatchingRegex(FileSpec &file_spec, SourceManager::File::File(const FileSpec &file_spec, lldb::DebuggerSP debugger_sp) : m_file_spec_orig(file_spec), m_file_spec(file_spec), - m_mod_time(file_spec.GetModificationTime()), m_source_map_mod_id(0), - m_data_sp(), m_offsets(), m_debugger_wp(debugger_sp) { + m_mod_time(FileSystem::GetModificationTime(file_spec)), + m_debugger_wp(debugger_sp) { CommonInitializer(file_spec, nullptr); } SourceManager::File::File(const FileSpec &file_spec, Target *target) : m_file_spec_orig(file_spec), m_file_spec(file_spec), - m_mod_time(file_spec.GetModificationTime()), m_source_map_mod_id(0), - m_data_sp(), m_offsets(), + m_mod_time(FileSystem::GetModificationTime(file_spec)), m_debugger_wp(target ? target->GetDebugger().shared_from_this() : DebuggerSP()) { CommonInitializer(file_spec, target); } -SourceManager::File::~File() {} - void SourceManager::File::CommonInitializer(const FileSpec &file_spec, Target *target) { if (!m_mod_time.IsValid()) { @@ -384,7 +382,7 @@ void SourceManager::File::CommonInitializer(const FileSpec &file_spec, SymbolContext sc; sc_list.GetContextAtIndex(0, sc); m_file_spec = sc.comp_unit; - m_mod_time = m_file_spec.GetModificationTime(); + m_mod_time = FileSystem::GetModificationTime(m_file_spec); } } } @@ -399,7 +397,7 @@ void SourceManager::File::CommonInitializer(const FileSpec &file_spec, if (target->GetSourcePathMap().FindFile(m_file_spec, new_file_spec) || target->GetImages().FindSourceFile(m_file_spec, new_file_spec)) { m_file_spec = new_file_spec; - m_mod_time = m_file_spec.GetModificationTime(); + m_mod_time = FileSystem::GetModificationTime(m_file_spec); } } } @@ -479,7 +477,7 @@ void SourceManager::File::UpdateIfNeeded() { // TODO: use host API to sign up for file modifications to anything in our // source cache and only update when we determine a file has been updated. // For now we check each time we want to display info for the file. - TimeValue curr_mod_time(m_file_spec.GetModificationTime()); + TimeValue curr_mod_time(FileSystem::GetModificationTime(m_file_spec)); if (curr_mod_time.IsValid() && m_mod_time != curr_mod_time) { m_mod_time = curr_mod_time; |