#include "sanitizer_platform.h"
#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_NETBSD || \
SANITIZER_SOLARIS
#include "sanitizer_common.h"
#include "sanitizer_placement_new.h"
#include "sanitizer_procmaps.h"
namespace __sanitizer {
static ProcSelfMapsBuff cached_proc_self_maps;
static StaticSpinMutex cache_lock;
static int TranslateDigit(char c) { … }
static uptr ParseNumber(const char **p, int base) { … }
bool IsDecimal(char c) { … }
uptr ParseDecimal(const char **p) { … }
bool IsHex(char c) { … }
uptr ParseHex(const char **p) { … }
void MemoryMappedSegment::AddAddressRanges(LoadedModule *module) { … }
MemoryMappingLayout::MemoryMappingLayout(bool cache_enabled) { … }
bool MemoryMappingLayout::Error() const { … }
MemoryMappingLayout::~MemoryMappingLayout() { … }
void MemoryMappingLayout::Reset() { … }
void MemoryMappingLayout::CacheMemoryMappings() { … }
void MemoryMappingLayout::LoadFromCache() { … }
void MemoryMappingLayout::DumpListOfModules(
InternalMmapVectorNoCtor<LoadedModule> *modules) { … }
#if SANITIZER_LINUX || SANITIZER_ANDROID || SANITIZER_SOLARIS
void GetMemoryProfile(fill_profile_f cb, uptr *stats) { … }
void ParseUnixMemoryProfile(fill_profile_f cb, uptr *stats, char *smaps,
uptr smaps_len) { … }
#endif
}
#endif