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 (uptrBlockSize,uptrNumberOfRegions,uptrReleaseSize,uptrReleaseOffset)
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 (uptrFrom,uptrTo,uptrBase,const uptrRegionIndex,const uptrRegionSize)
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,DecompactPtrTDecompactPtr,const uptrBase,const uptrRegionIndex,const uptrRegionSize,boolMayContainLastBlockInRegion)
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