LLDB mainline
lldb_private::MemoryRegionInfoCache Class Reference

#include <MemoryRegionInfoCache.h>

Public Member Functions

 MemoryRegionInfoCache ()=default
void Clear ()
 Remove all cached entries.
std::optional< MemoryRegionInfoGetMemoryRegion (lldb::addr_t load_addr)
 Return a MemoryRegionInfo that covers load_addr, returns empty optional if there is no entry.
void AddRegion (const MemoryRegionInfo &region_info)
 Add a MemoryRegionInfo to the collection.
size_t GetSize ()

Private Attributes

std::map< lldb::addr_t, MemoryRegionInfom_region_infos
std::mutex m_mutex

Detailed Description

Definition at line 19 of file MemoryRegionInfoCache.h.

Constructor & Destructor Documentation

◆ MemoryRegionInfoCache()

lldb_private::MemoryRegionInfoCache::MemoryRegionInfoCache ( )
default

Member Function Documentation

◆ AddRegion()

void MemoryRegionInfoCache::AddRegion ( const MemoryRegionInfo & region_info)

◆ Clear()

void MemoryRegionInfoCache::Clear ( )

Remove all cached entries.

Should be called whenever Process resumes execution of the inferior.

Definition at line 15 of file MemoryRegionInfoCache.cpp.

References m_mutex, and m_region_infos.

◆ GetMemoryRegion()

std::optional< MemoryRegionInfo > MemoryRegionInfoCache::GetMemoryRegion ( lldb::addr_t load_addr)

Return a MemoryRegionInfo that covers load_addr, returns empty optional if there is no entry.

Definition at line 26 of file MemoryRegionInfoCache.cpp.

References m_mutex, and m_region_infos.

◆ GetSize()

size_t MemoryRegionInfoCache::GetSize ( )

Definition at line 20 of file MemoryRegionInfoCache.cpp.

References m_mutex, and m_region_infos.

Member Data Documentation

◆ m_mutex

std::mutex lldb_private::MemoryRegionInfoCache::m_mutex
private

Definition at line 38 of file MemoryRegionInfoCache.h.

Referenced by AddRegion(), Clear(), GetMemoryRegion(), and GetSize().

◆ m_region_infos

std::map<lldb::addr_t, MemoryRegionInfo> lldb_private::MemoryRegionInfoCache::m_region_infos
private

Definition at line 37 of file MemoryRegionInfoCache.h.

Referenced by AddRegion(), Clear(), GetMemoryRegion(), and GetSize().


The documentation for this class was generated from the following files: