struct PageReleaseContext

Defined at line 396 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 397 of file ../../third_party/scudo/src/release.h

bool hasBlockMarked ()

PageMap is lazily allocated when markFreeBlocks() is invoked.

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

bool ensurePageMapAllocated ()

Defined at line 448 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 460 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 549 of file ../../third_party/scudo/src/release.h

uptr getPageIndex (uptr P)

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

uptr getReleaseOffset ()

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