CodeobjTableTranslator Class Reference

CodeobjTableTranslator Class Reference#

ROCprofiler-SDK developer API: rocprofiler::sdk::codeobj::segment::CodeobjTableTranslator Class Reference
ROCprofiler-SDK developer API 1.0.0
ROCm Profiling API and tools
rocprofiler::sdk::codeobj::segment::CodeobjTableTranslator Class Reference

Finds a candidate codeobj for the given vaddr. More...

#include <rocprofiler-sdk/cxx/codeobj/segment.hpp>

Inherits std::set< address_range_t >.

+ Collaboration diagram for rocprofiler::sdk::codeobj::segment::CodeobjTableTranslator:

Public Member Functions

address_range_t find_codeobj_in_range (uint64_t addr)
 
void clear_cache ()
 
bool remove (const address_range_t &range)
 
bool remove (uint64_t addr)
 

Detailed Description

Finds a candidate codeobj for the given vaddr.

Definition at line 65 of file segment.hpp.

Member Function Documentation

◆ clear_cache()

void rocprofiler::sdk::codeobj::segment::CodeobjTableTranslator::clear_cache ( )
inline

Definition at line 81 of file segment.hpp.

81{ cached_segment = {}; }

◆ find_codeobj_in_range()

address_range_t rocprofiler::sdk::codeobj::segment::CodeobjTableTranslator::find_codeobj_in_range ( uint64_t  addr)
inline

Definition at line 70 of file segment.hpp.

71 {
72 if(!cached_segment.inrange(addr))
73 {
74 auto it = this->find(address_range_t{addr, 0, 0});
75 if(it == this->end()) throw std::exception();
76 cached_segment = *it;
77 }
78 return cached_segment;
79 }

◆ remove() [1/2]

bool rocprofiler::sdk::codeobj::segment::CodeobjTableTranslator::remove ( const address_range_t &  range)
inline

Definition at line 82 of file segment.hpp.

83 {
84 clear_cache();
85 return this->erase(range) != 0;
86 }

◆ remove() [2/2]

bool rocprofiler::sdk::codeobj::segment::CodeobjTableTranslator::remove ( uint64_t  addr)
inline

Definition at line 87 of file segment.hpp.

87{ return remove(address_range_t{addr, 0, 0}); }

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