Home | History | Annotate | Download | only in lsan

Lines Matching defs:frontier

128 // chunks. Marks those chunks with |tag| and adds them to |frontier|.
132 // so |frontier| = 0.
134 Frontier *frontier,
165 if (frontier)
166 frontier->push_back(chunk);
171 Frontier *frontier = reinterpret_cast<Frontier *>(arg);
172 ScanRangeForPointers(begin, end, frontier, "FAKE STACK", kReachable);
177 Frontier *frontier) {
204 ScanRangeForPointers(registers_begin, registers_end, frontier,
218 ScanRangeForPointers(stack_begin, stack_end, frontier, "STACK",
220 ForEachExtraStackRange(os_id, ForEachExtraStackRangeCb, frontier);
226 ScanRangeForPointers(tls_begin, tls_end, frontier, "TLS", kReachable);
233 ScanRangeForPointers(tls_begin, cache_begin, frontier, "TLS",
236 ScanRangeForPointers(cache_end, tls_end, frontier, "TLS", kReachable);
242 static void ProcessRootRegion(Frontier *frontier, uptr root_begin,
257 ScanRangeForPointers(intersection_begin, intersection_end, frontier,
263 static void ProcessRootRegions(Frontier *frontier) {
269 ProcessRootRegion(frontier, begin_addr, begin_addr + region.size);
273 static void FloodFillTag(Frontier *frontier, ChunkTag tag) {
274 while (frontier->size()) {
275 uptr next_chunk = frontier->back();
276 frontier->pop_back();
278 ScanRangeForPointers(next_chunk, next_chunk + m.requested_size(), frontier,
290 /* frontier */ 0, "HEAP", kIndirectlyLeaked);
295 // frontier.
301 reinterpret_cast<Frontier *>(arg)->push_back(chunk);
306 // Holds the flood fill frontier.
307 Frontier frontier(1);
309 ProcessGlobalRegions(&frontier);
310 ProcessThreads(suspended_threads, &frontier);
311 ProcessRootRegions(&frontier);
312 FloodFillTag(&frontier, kReachable);
317 ProcessPlatformSpecificAllocations(&frontier);
318 FloodFillTag(&frontier, kReachable);
321 CHECK_EQ(0, frontier.size());
322 ForEachChunk(CollectIgnoredCb, &frontier);
323 FloodFillTag(&frontier, kIgnored);