LLDB  mainline
Public Types | Public Member Functions | List of all members
lldb_private::MemoryTagManager Class Referenceabstract

#include <MemoryTagManager.h>

Inheritance diagram for lldb_private::MemoryTagManager:
Inheritance graph
[legend]

Public Types

typedef Range< lldb::addr_t, lldb::addr_tTagRange
 

Public Member Functions

virtual lldb::addr_t GetLogicalTag (lldb::addr_t addr) const =0
 
virtual lldb::addr_t RemoveNonAddressBits (lldb::addr_t addr) const =0
 
virtual ptrdiff_t AddressDiff (lldb::addr_t addr1, lldb::addr_t addr2) const =0
 
virtual lldb::addr_t GetGranuleSize () const =0
 
virtual TagRange ExpandToGranule (TagRange range) const =0
 
virtual llvm::Expected< TagRangeMakeTaggedRange (lldb::addr_t addr, lldb::addr_t end_addr, const lldb_private::MemoryRegionInfos &memory_regions) const =0
 
virtual int32_t GetAllocationTagType () const =0
 
virtual size_t GetTagSizeInBytes () const =0
 
virtual llvm::Expected< std::vector< lldb::addr_t > > UnpackTagsData (const std::vector< uint8_t > &tags, size_t granules=0) const =0
 
virtual llvm::Expected< std::vector< uint8_t > > PackTags (const std::vector< lldb::addr_t > &tags) const =0
 
virtual llvm::Expected< std::vector< lldb::addr_t > > RepeatTagsForRange (const std::vector< lldb::addr_t > &tags, TagRange range) const =0
 
virtual ~MemoryTagManager ()
 

Detailed Description

Definition at line 28 of file MemoryTagManager.h.

Member Typedef Documentation

◆ TagRange

Definition at line 30 of file MemoryTagManager.h.

Constructor & Destructor Documentation

◆ ~MemoryTagManager()

virtual lldb_private::MemoryTagManager::~MemoryTagManager ( )
inlinevirtual

Definition at line 130 of file MemoryTagManager.h.

Member Function Documentation

◆ AddressDiff()

virtual ptrdiff_t lldb_private::MemoryTagManager::AddressDiff ( lldb::addr_t  addr1,
lldb::addr_t  addr2 
) const
pure virtual

◆ ExpandToGranule()

virtual TagRange lldb_private::MemoryTagManager::ExpandToGranule ( TagRange  range) const
pure virtual

◆ GetAllocationTagType()

virtual int32_t lldb_private::MemoryTagManager::GetAllocationTagType ( ) const
pure virtual

◆ GetGranuleSize()

virtual lldb::addr_t lldb_private::MemoryTagManager::GetGranuleSize ( ) const
pure virtual

◆ GetLogicalTag()

virtual lldb::addr_t lldb_private::MemoryTagManager::GetLogicalTag ( lldb::addr_t  addr) const
pure virtual

◆ GetTagSizeInBytes()

virtual size_t lldb_private::MemoryTagManager::GetTagSizeInBytes ( ) const
pure virtual

◆ MakeTaggedRange()

virtual llvm::Expected<TagRange> lldb_private::MemoryTagManager::MakeTaggedRange ( lldb::addr_t  addr,
lldb::addr_t  end_addr,
const lldb_private::MemoryRegionInfos memory_regions 
) const
pure virtual

◆ PackTags()

virtual llvm::Expected<std::vector<uint8_t> > lldb_private::MemoryTagManager::PackTags ( const std::vector< lldb::addr_t > &  tags) const
pure virtual

◆ RemoveNonAddressBits()

virtual lldb::addr_t lldb_private::MemoryTagManager::RemoveNonAddressBits ( lldb::addr_t  addr) const
pure virtual

◆ RepeatTagsForRange()

virtual llvm::Expected<std::vector<lldb::addr_t> > lldb_private::MemoryTagManager::RepeatTagsForRange ( const std::vector< lldb::addr_t > &  tags,
TagRange  range 
) const
pure virtual

◆ UnpackTagsData()

virtual llvm::Expected<std::vector<lldb::addr_t> > lldb_private::MemoryTagManager::UnpackTagsData ( const std::vector< uint8_t > &  tags,
size_t  granules = 0 
) const
pure virtual

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