Home | History | Annotate | Download | only in sanitizer_common

Lines Matching refs:allocator

10 // Specialized memory allocator for ThreadSanitizer, MemorySanitizer, etc.
42 // This class also gives a hint to a thread-caching allocator about the amount
199 // Memory allocator statistics
294 // SizeClassAllocator64 -- allocator for 64-bit address space.
449 // The allocator must be locked when calling this function.
660 // SizeClassAllocator32 -- allocator for 32-bit address space.
661 // This allocator can theoretically be used on 64-bit arch, but there it is less
672 // 0 size class means the region is not used by the allocator.
802 // The allocator must be locked when calling this function.
898 typedef SizeClassAllocator Allocator;
907 void Destroy(SizeClassAllocator *allocator, AllocatorGlobalStats *s) {
908 Drain(allocator);
913 void *Allocate(SizeClassAllocator *allocator, uptr class_id) {
919 Refill(allocator, class_id);
925 void Deallocate(SizeClassAllocator *allocator, uptr class_id, void *p) {
928 // If the first allocator call on a new thread is a deallocation, then
935 Drain(allocator, class_id);
939 void Drain(SizeClassAllocator *allocator) {
943 Drain(allocator, class_id);
967 NOINLINE void Refill(SizeClassAllocator *allocator, uptr class_id) {
970 Batch *b = allocator->AllocateBatch(&stats_, this, class_id);
976 Deallocate(allocator, SizeClassMap::ClassID(sizeof(Batch)), b);
979 NOINLINE void Drain(SizeClassAllocator *allocator, uptr class_id) {
984 b = (Batch*)Allocate(allocator, SizeClassMap::ClassID(sizeof(Batch)));
995 allocator->DeallocateBatch(&stats_, class_id, b);
1000 // The main purpose of this allocator is to cover large and rare allocation
1120 // Must be called with the allocator locked.
1186 // The allocator must be locked when calling this function.
1229 // This class implements a complete memory allocator by using two
1316 // Must be called with the allocator locked.
1369 // The allocator must be locked when calling this function.