struct PageReleaseContext

Defined at line 404 of file ../../third_party/scudo/src/release.h

Public Members

uptr BlockSize
uptr NumberOfRegions
uptr ReleasePageOffset
uptr PagesCount
uptr FullPagesBlockCountMax
bool SameBlockCountPerPage
RegionPageMap PageMap

Public Methods

void PageReleaseContext (uptr BlockSize, uptr NumberOfRegions, uptr ReleaseSize, uptr ReleaseOffset)

Defined at line 405 of file ../../third_party/scudo/src/release.h

bool hasBlockMarked ()

PageMap is lazily allocated when markFreeBlocks() is invoked.

Defined at line 452 of file ../../third_party/scudo/src/release.h

bool ensurePageMapAllocated ()

Defined at line 456 of file ../../third_party/scudo/src/release.h

bool markRangeAsAllCounted (uptr From, uptr To, uptr Base, const uptr RegionIndex, const uptr RegionSize)

Mark all the blocks in the given range [From, to). Instead of visiting all

the blocks, we will just mark the page as all counted. Note the `From` and

`To` has to be page aligned but with one exception, if `To` is equal to the

RegionSize, it's not necessary to be aligned with page size.

Defined at line 467 of file ../../third_party/scudo/src/release.h

template <class TransferBatchT, typename DecompactPtrT>
bool markFreeBlocksInRegion (const IntrusiveList<TransferBatchT> & FreeList, DecompactPtrT DecompactPtr, const uptr Base, const uptr RegionIndex, const uptr RegionSize, bool MayContainLastBlockInRegion)

Defined at line 556 of file ../../third_party/scudo/src/release.h

uptr getPageIndex (uptr P)

Defined at line 625 of file ../../third_party/scudo/src/release.h

uptr getReleaseOffset ()

Defined at line 628 of file ../../third_party/scudo/src/release.h