Go to the documentation of this file.
26 assert(
iter->second.HasTranslation());
49 if (!
iter->second.HasTranslation()) {
166 printf(
" updating mapping (%s) with new size %" PRIx64
"\n",
176 printf(
" skipping existing mapping (%s)\n",
184 printf(
"%p AddDualRange([%" PRIx64
", %" PRIx64
"], %" PRIx64
", %s)\n",
188 if (
size == 0)
return;
228 assert(
it->first >=
addr);
234 assert(this_end >=
addr);
276 it,
addr,
size, &trimmed_addr, &translated_addr, &trimmed_size)) {
278 printf(
" -> translates to: [%" PRIx64
" %" PRIx64
"]\n", translated_addr,
281 other->
AddRange(translated_addr, trimmed_size, val);
283 AddRange(trimmed_addr, trimmed_size, val);
284 total_size += trimmed_size;
288 return total_size ==
size;
295 if (prev->first + prev->second.size ==
it->first &&
296 (prev->second.label ==
it->second.label ||
297 (!prev->second.HasFallbackLabel() &&
it->second.IsShortFallback()))) {
298 prev->second.size +=
it->second.size;
328 return entry.first + entry.second.size;
static std::string EntryDebugString(uint64_t addr, uint64_t size, uint64_t other_start, const std::string &label)
uint64_t RangeEndUnknownLimit(Map::const_iterator iter, uint64_t unknown) const
bool TranslateAndTrimRangeWithEntry(T iter, uint64_t addr, uint64_t size, uint64_t *trimmed_addr, uint64_t *translated_addr, uint64_t *trimmed_size) const
bool IterIsEnd(Map::const_iterator iter) const
uint64_t GetMaxAddress() const
void StrAppend(std::string *dest, const AlphaNum &a)
static const uint64_t kNoTranslation
bool EntryContainsStrict(T iter, uint64_t addr) const
Map::const_iterator FindContaining(uint64_t addr) const
void MaybeSetLabel(T iter, const std::string &label, uint64_t addr, uint64_t end)
static constexpr uint64_t kUnknownSize
bool TryGetLabelForRange(uint64_t addr, uint64_t size, std::string *label) const
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
bool CoversRange(uint64_t addr, uint64_t size) const
bool AddRangeWithTranslation(uint64_t addr, uint64_t size, const std::string &val, const RangeMap &translator, bool verbose, RangeMap *other)
const typedef MCPhysReg * iterator
uint64_t RangeEnd(Map::const_iterator iter) const
#define T(upbtypeconst, upbtype, ctype, default_value)
std::string DebugString() const
void AddDualRange(uint64_t addr, uint64_t size, uint64_t otheraddr, const std::string &val)
uint64_t TranslateWithEntry(T iter, uint64_t addr) const
def c_str(s, encoding='ascii')
bool TryGetSize(uint64_t addr, uint64_t *size) const
void AddRange(uint64_t addr, uint64_t size, const std::string &val)
bool EntryContains(T iter, uint64_t addr) const
unsigned __int64 uint64_t
void CheckConsistency(T iter) const
Map::iterator FindContainingOrAfter(uint64_t addr)
bool Translate(uint64_t addr, uint64_t *translated) const
IntAfterTypedTestSuiteP after
UniquePtr< SSL_SESSION > ret
AllocList * next[kMaxLevel]
bool TryGetLabel(uint64_t addr, std::string *label) const
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:59