summaryrefslogtreecommitdiffstats
path: root/lldb/source/Core
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Core')
-rw-r--r--lldb/source/Core/Module.cpp33
-rw-r--r--lldb/source/Core/ModuleList.cpp5
-rw-r--r--lldb/source/Core/SourceManager.cpp16
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;
OpenPOWER on IntegriCloud