Home | History | Annotate | Download | only in libmemunreachable

Lines Matching refs:Range

28 // A range [begin, end)
29 struct Range {
34 bool operator==(const Range& other) const {
37 bool operator!=(const Range& other) const {
44 bool operator()(const Range& a, const Range& b) const {
71 bool Leaked(allocator::vector<Range>&, size_t limit, size_t* num_leaks,
77 void ForEachPtrInRange(const Range& range, F&& f);
88 void RecurseRoot(const Range& root);
89 bool WordContainsAllocationPtr(uintptr_t ptr, Range* range, AllocationInfo** info);
94 using AllocationMap = allocator::map<Range, AllocationInfo, compare_range>;
97 Range valid_allocations_range_;
99 allocator::vector<Range> roots_;
107 inline void HeapWalker::ForEachPtrInRange(const Range& range, F&& f) {
108 uintptr_t begin = (range.begin + (sizeof(uintptr_t) - 1)) & ~(sizeof(uintptr_t) - 1);
112 for (uintptr_t i = begin; i < range.end; i += sizeof(uintptr_t)) {
113 Range ref_range;
124 const Range& range = it.first;
126 f(range, allocation);