Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
HeaderlessAllocator::Impl Class Reference

Public Member Functions

 Impl (size_t poolSize)
 
 ~Impl ()
 
void Reset ()
 
NOTHROW_DEFINE void * Allocate (size_t size)
 
void Deallocate (u8 *p, size_t size)
 
void Validate () const
 

Private Member Functions

void AddToFreelist (u8 *p, size_t size)
 
void RemoveFromFreelist (FreedBlock *freedBlock)
 
void Coalesce (u8 *&p, size_t &size)
 expand a block by coalescing it with its free neighbor(s). More...
 
void * TakeAndSplitFreeBlock (size_t size)
 

Private Attributes

Pool m_pool
 
SegregatedRangeLists m_segregatedRangeLists
 
BoundaryTagManager m_boundaryTagManager
 
Stats m_stats
 

Detailed Description

Definition at line 604 of file headerless.cpp.

Constructor & Destructor Documentation

HeaderlessAllocator::Impl::Impl ( size_t  poolSize)
inline

Definition at line 607 of file headerless.cpp.

HeaderlessAllocator::Impl::~Impl ( )
inline

Definition at line 614 of file headerless.cpp.

Member Function Documentation

void HeaderlessAllocator::Impl::AddToFreelist ( u8 p,
size_t  size 
)
inlineprivate

Definition at line 679 of file headerless.cpp.

NOTHROW_DEFINE void* HeaderlessAllocator::Impl::Allocate ( size_t  size)
inline

Definition at line 630 of file headerless.cpp.

void HeaderlessAllocator::Impl::Coalesce ( u8 *&  p,
size_t &  size 
)
inlineprivate

expand a block by coalescing it with its free neighbor(s).

Definition at line 696 of file headerless.cpp.

void HeaderlessAllocator::Impl::Deallocate ( u8 p,
size_t  size 
)
inline

Definition at line 651 of file headerless.cpp.

void HeaderlessAllocator::Impl::RemoveFromFreelist ( FreedBlock freedBlock)
inlineprivate

Definition at line 686 of file headerless.cpp.

void HeaderlessAllocator::Impl::Reset ( )
inline

Definition at line 621 of file headerless.cpp.

void* HeaderlessAllocator::Impl::TakeAndSplitFreeBlock ( size_t  size)
inlineprivate

Definition at line 718 of file headerless.cpp.

void HeaderlessAllocator::Impl::Validate ( ) const
inline

Definition at line 667 of file headerless.cpp.

Member Data Documentation

BoundaryTagManager HeaderlessAllocator::Impl::m_boundaryTagManager
private

Definition at line 740 of file headerless.cpp.

Pool HeaderlessAllocator::Impl::m_pool
private

Definition at line 738 of file headerless.cpp.

SegregatedRangeLists HeaderlessAllocator::Impl::m_segregatedRangeLists
private

Definition at line 739 of file headerless.cpp.

Stats HeaderlessAllocator::Impl::m_stats
private

Definition at line 741 of file headerless.cpp.


The documentation for this class was generated from the following file: