#ifndef HWASAN_ALLOCATOR_H
#define HWASAN_ALLOCATOR_H
#include "hwasan.h"
#include "hwasan_interface_internal.h"
#include "hwasan_mapping.h"
#include "hwasan_poisoning.h"
#include "lsan/lsan_common.h"
#include "sanitizer_common/sanitizer_allocator.h"
#include "sanitizer_common/sanitizer_allocator_checks.h"
#include "sanitizer_common/sanitizer_allocator_interface.h"
#include "sanitizer_common/sanitizer_allocator_report.h"
#include "sanitizer_common/sanitizer_common.h"
#include "sanitizer_common/sanitizer_ring_buffer.h"
#if !defined(__aarch64__) && !defined(__x86_64__) && !(SANITIZER_RISCV64)
# error Unsupported platform
#endif
namespace __hwasan {
struct Metadata { … };
static_assert …;
struct HwasanMapUnmapCallback { … };
static const uptr kMaxAllowedMallocSize = …;
struct AP64 { … };
PrimaryAllocator;
Allocator;
AllocatorCache;
void AllocatorThreadStart(AllocatorCache *cache);
void AllocatorThreadFinish(AllocatorCache *cache);
class HwasanChunkView { … };
HwasanChunkView FindHeapChunkByAddress(uptr address);
struct HeapAllocationRecord { … };
HeapAllocationsRingBuffer;
void GetAllocatorStats(AllocatorStatCounters s);
}
#endif