Home | History | Annotate | Download | only in sanitizer_common

Lines Matching refs:region

302 // Region: a part of Space dedicated to a single size class.
308 // A Region looks like this:
344 RegionInfo *region = GetRegionInfo(class_id);
345 Batch *b = region->free_list.Pop();
347 b = PopulateFreeList(stat, c, class_id, region);
348 region->n_allocated += b->count;
353 RegionInfo *region = GetRegionInfo(class_id);
355 region->free_list.Push(b);
356 region->n_freed += b->count;
376 RegionInfo *region = GetRegionInfo(class_id);
377 if (region->mapped_user >= next_beg)
414 RegionInfo *region = GetRegionInfo(class_id);
415 total_mapped += region->mapped_user;
416 n_allocated += region->n_allocated;
417 n_freed += region->n_freed;
423 RegionInfo *region = GetRegionInfo(class_id);
424 if (region->mapped_user == 0) continue;
428 region->mapped_user >> 10,
429 region->n_allocated,
430 region->n_allocated - region->n_freed);
452 RegionInfo *region = GetRegionInfo(class_id);
456 chunk < region_beg + region->allocated_user;
514 uptr class_id, RegionInfo *region) {
515 BlockingMutexLock l(&region->mutex);
516 Batch *b = region->free_list.Pop();
521 uptr beg_idx = region->allocated_user;
524 if (end_idx + size > region->mapped_user) {
527 while (end_idx + size > region->mapped_user + map_size)
529 CHECK_GE(region->mapped_user + map_size, end_idx);
530 MapWithCallback(region_beg + region->mapped_user, map_size);
532 region->mapped_user += map_size;
534 uptr total_count = (region->mapped_user - beg_idx - size)
536 region->allocated_meta += total_count * kMetadataSize;
537 if (region->allocated_meta > region->mapped_meta) {
539 while (region->allocated_meta > region->mapped_meta + map_size)
542 CHECK_GE(region->mapped_meta + map_size, region->allocated_meta);
544 region->mapped_meta - map_size, map_size);
545 region->mapped_meta += map_size;
547 CHECK_LE(region->allocated_meta, region->mapped_meta);
548 if (region->mapped_user + region->mapped_meta > kRegionSize) {
562 region->allocated_user += count * size;
563 CHECK_LE(region->allocated_user, region->mapped_user);
565 if (beg_idx + count * size + size > region->mapped_user)
568 region->free_list.Push(b);
667 // Region:
671 // a ByteMap possible_regions to store the size classes of each Region.
672 // 0 size class means the region is not used by the allocator.
674 // One Region is used to allocate chunks of a single size class.
675 // A Region looks like this:
804 for (uptr region = 0; region < kNumPossibleRegions; region++)
805 if (possible_regions[region]) {
806 uptr chunk_size = SizeClassMap::Size(possible_regions[region]);
808 uptr region_beg = region * kRegionSize;