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
298 // SizeClassAllocator64 -- allocator for 64-bit address space.
468 // The allocator must be locked when calling this function.
686 // SizeClassAllocator32 -- allocator for 32-bit address space.
687 // This allocator can theoretically be used on 64-bit arch, but there it is less
698 // 0 size class means the region is not used by the allocator.
831 // The allocator must be locked when calling this function.
931 typedef SizeClassAllocator Allocator;
940 void Destroy(SizeClassAllocator *allocator, AllocatorGlobalStats *s) {
941 Drain(allocator);
946 void *Allocate(SizeClassAllocator *allocator, uptr class_id) {
952 Refill(allocator, class_id);
958 void Deallocate(SizeClassAllocator *allocator, uptr class_id, void *p) {
961 // If the first allocator call on a new thread is a deallocation, then
968 Drain(allocator, class_id);
972 void Drain(SizeClassAllocator *allocator) {
976 Drain(allocator, class_id);
1000 NOINLINE void Refill(SizeClassAllocator *allocator, uptr class_id) {
1003 Batch *b = allocator->AllocateBatch(&stats_, this, class_id);
1009 Deallocate(allocator, SizeClassMap::ClassID(sizeof(Batch)), b);
1012 NOINLINE void Drain(SizeClassAllocator *allocator, uptr class_id) {
1017 b = (Batch*)Allocate(allocator, SizeClassMap::ClassID(sizeof(Batch)));
1028 allocator->DeallocateBatch(&stats_, class_id, b);
1033 // The main purpose of this allocator is to cover large and rare allocation
1173 // Must be called with the allocator locked.
1239 // The allocator must be locked when calling this function.
1283 // This class implements a complete memory allocator by using two
1407 // Must be called with the allocator locked.
1460 // The allocator must be locked when calling this function.