Home | History | Annotate | Download | only in libmemunreachable

Lines Matching refs:leak

33 #include "Leak.h"
50 const size_t Leak::contents_length;
59 bool GetUnreachableMemory(allocator::vector<Leak>& leaks, size_t limit, size_t* num_leaks,
131 bool MemUnreachable::GetUnreachableMemory(allocator::vector<Leak>& leaks, size_t limit,
152 allocator::vector<LeakFolding::Leak> leaked{allocator_};
158 allocator::unordered_map<Leak::Backtrace, Leak*> backtrace_map{allocator_};
166 Leak* leak = &leaks.back();
169 reinterpret_cast<void*>(it.range.begin), leak->backtrace.frames, leak->backtrace.max_frames);
171 leak->backtrace.num_frames = num_backtrace_frames;
173 auto inserted = backtrace_map.emplace(leak->backtrace, leak);
175 // Leak with same backtrace already exists, drop this one and
178 Leak* similar_leak = inserted.first->second;
189 leak->begin = it.range.begin;
190 leak->size = it.range.size();
191 leak->referenced_count = it.referenced_count;
192 leak->referenced_size = it.referenced_size;
193 leak->total_size = leak->size + leak->referenced_size;
194 memcpy(leak->contents, reinterpret_cast<void*>(it.range.begin),
195 std::min(leak->size, Leak::contents_length));
201 [](const Leak& a, const Leak& b) { return a.total_size > b.total_size; });
346 allocator::vector<Leak> leaks{heap};
419 std::string Leak::ToString(bool log_contents) const {
502 memset(leaks.data(), 0, leaks.capacity() * sizeof(Leak));
504 std::vector<Leak> tmp;