aboutsummaryrefslogtreecommitdiff
path: root/lldb/include/lldb/Symbol/Symtab.h
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/include/lldb/Symbol/Symtab.h')
-rw-r--r--lldb/include/lldb/Symbol/Symtab.h27
1 files changed, 26 insertions, 1 deletions
diff --git a/lldb/include/lldb/Symbol/Symtab.h b/lldb/include/lldb/Symbol/Symtab.h
index fe0a82306c4f..504b49c02674 100644
--- a/lldb/include/lldb/Symbol/Symtab.h
+++ b/lldb/include/lldb/Symbol/Symtab.h
@@ -212,6 +212,30 @@ public:
/// false if the symbol table wasn't cached or was out of date.
bool LoadFromCache();
+
+ /// Accessors for the bool that indicates if the debug info index was loaded
+ /// from, or saved to the module index cache.
+ ///
+ /// In statistics it is handy to know if a module's debug info was loaded from
+ /// or saved to the cache. When the debug info index is loaded from the cache
+ /// startup times can be faster. When the cache is enabled and the debug info
+ /// index is saved to the cache, debug sessions can be slower. These accessors
+ /// can be accessed by the statistics and emitted to help track these costs.
+ /// \{
+ bool GetWasLoadedFromCache() const {
+ return m_loaded_from_cache;
+ }
+ void SetWasLoadedFromCache() {
+ m_loaded_from_cache = true;
+ }
+ bool GetWasSavedToCache() const {
+ return m_saved_to_cache;
+ }
+ void SetWasSavedToCache() {
+ m_saved_to_cache = true;
+ }
+ /// \}
+
protected:
typedef std::vector<Symbol> collection;
typedef collection::iterator iterator;
@@ -252,7 +276,8 @@ protected:
m_name_to_symbol_indices;
mutable std::recursive_mutex
m_mutex; // Provide thread safety for this symbol table
- bool m_file_addr_to_index_computed : 1, m_name_indexes_computed : 1;
+ bool m_file_addr_to_index_computed : 1, m_name_indexes_computed : 1,
+ m_loaded_from_cache : 1, m_saved_to_cache : 1;
private:
UniqueCStringMap<uint32_t> &