003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lldb/include/lldb/DataFormatters
usr
/
src
/
contrib
/
llvm-project
/
lldb
/
include
/
lldb
/
DataFormatters
/
📁
..
📄
CXXFunctionPointer.h
(806 B)
📄
DataVisualization.h
(3.96 KB)
📄
DumpValueObjectOptions.h
(4.82 KB)
📄
FormatCache.h
(1.95 KB)
📄
FormatClasses.h
(4.7 KB)
📄
FormatManager.h
(8.16 KB)
📄
FormattersContainer.h
(9.77 KB)
📄
FormattersHelpers.h
(5.69 KB)
📄
LanguageCategory.h
(1.59 KB)
📄
StringPrinter.h
(5.01 KB)
📄
TypeCategory.h
(12.06 KB)
📄
TypeCategoryMap.h
(3 KB)
📄
TypeFormat.h
(5.87 KB)
📄
TypeSummary.h
(10.88 KB)
📄
TypeSynthetic.h
(13.9 KB)
📄
ValueObjectPrinter.h
(4.29 KB)
📄
VectorIterator.h
(1.3 KB)
📄
VectorType.h
(849 B)
Editing: FormatCache.h
//===-- FormatCache.h ---------------------------------------------*- C++ //-*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_DATAFORMATTERS_FORMATCACHE_H #define LLDB_DATAFORMATTERS_FORMATCACHE_H #include <map> #include <mutex> #include "lldb/Utility/ConstString.h" #include "lldb/lldb-public.h" namespace lldb_private { class FormatCache { private: struct Entry { private: bool m_format_cached : 1; bool m_summary_cached : 1; bool m_synthetic_cached : 1; lldb::TypeFormatImplSP m_format_sp; lldb::TypeSummaryImplSP m_summary_sp; lldb::SyntheticChildrenSP m_synthetic_sp; public: Entry(); template<typename ImplSP> bool IsCached(); bool IsFormatCached(); bool IsSummaryCached(); bool IsSyntheticCached(); void Get(lldb::TypeFormatImplSP &); void Get(lldb::TypeSummaryImplSP &); void Get(lldb::SyntheticChildrenSP &); void Set(lldb::TypeFormatImplSP); void Set(lldb::TypeSummaryImplSP); void Set(lldb::SyntheticChildrenSP); }; typedef std::map<ConstString, Entry> CacheMap; CacheMap m_map; std::recursive_mutex m_mutex; uint64_t m_cache_hits = 0; uint64_t m_cache_misses = 0; Entry &GetEntry(ConstString type); public: FormatCache() = default; template <typename ImplSP> bool Get(ConstString type, ImplSP &format_impl_sp); void Set(ConstString type, lldb::TypeFormatImplSP &format_sp); void Set(ConstString type, lldb::TypeSummaryImplSP &summary_sp); void Set(ConstString type, lldb::SyntheticChildrenSP &synthetic_sp); void Clear(); uint64_t GetCacheHits() { return m_cache_hits; } uint64_t GetCacheMisses() { return m_cache_misses; } }; } // namespace lldb_private #endif // LLDB_DATAFORMATTERS_FORMATCACHE_H
Upload File
Create Folder