template <typename Config>
class MapAllocator
Defined at line 730 of file ../../third_party/scudo/src/secondary.h
Public Methods
void init (GlobalStats * S, s32 ReleaseToOsInterval)
Defined at line 732 of file ../../third_party/scudo/src/secondary.h
uptr getBlockEnd (void * Ptr)
Defined at line 751 of file ../../third_party/scudo/src/secondary.h
uptr getBlockSize (void * Ptr)
Defined at line 756 of file ../../third_party/scudo/src/secondary.h
uptr getGuardPageSize ()
Defined at line 760 of file ../../third_party/scudo/src/secondary.h
uptr getHeadersSize ()
Defined at line 766 of file ../../third_party/scudo/src/secondary.h
void disable ()
Defined at line 770 of file ../../third_party/scudo/src/secondary.h
void enable ()
Defined at line 775 of file ../../third_party/scudo/src/secondary.h
template <typename F>
void iterateOverBlocks (F Callback)
Defined at line 780 of file ../../third_party/scudo/src/secondary.h
bool canCache (uptr Size)
Defined at line 791 of file ../../third_party/scudo/src/secondary.h
bool setOption (Option O, sptr Value)
Defined at line 793 of file ../../third_party/scudo/src/secondary.h
void releaseToOS (ReleaseToOS ReleaseType)
Defined at line 795 of file ../../third_party/scudo/src/secondary.h
void disableMemoryTagging ()
Defined at line 797 of file ../../third_party/scudo/src/secondary.h
void unmapTestOnly ()
Defined at line 799 of file ../../third_party/scudo/src/secondary.h
uptr getMaxResidentBytesTestOnly ()
Defined at line 801 of file ../../third_party/scudo/src/secondary.h
uptr getCurrentResidentBytesTestOnly ()
Defined at line 805 of file ../../third_party/scudo/src/secondary.h
void * allocate (const Options &Options,uptrSize,uptrAlignmentHint,uptr *BlockEnd,FillContentsModeFillContents)
As with the Primary, the size passed to this function includes any desired
alignment, so that the frontend can align the user allocation. The hint
parameter allows us to unmap spurious memory when dealing with larger
(greater than a page) alignments on 32-bit platforms.
Due to the sparsity of address space available on those platforms, requesting
an allocation from the Secondary with a large alignment would end up wasting
VA space (even though we are not committing the whole thing), hence the need
to trim off some of the reserved space.
For allocations requested with an alignment greater than or equal to a page,
the committed memory will amount to something close to Size - AlignmentHint
(pending rounding and headers).
Defined at line 944 of file ../../third_party/scudo/src/secondary.h
void deallocate (const Options & Options, void * Ptr)
Defined at line 1048 of file ../../third_party/scudo/src/secondary.h
void * tryAllocateFromCache (const Options &Options,uptrSize,uptrAlignment,uptr *BlockEndPtr,FillContentsModeFillContents)
Defined at line 826 of file ../../third_party/scudo/src/secondary.h
void getStats (ScopedString * Str)
Defined at line 1077 of file ../../third_party/scudo/src/secondary.h