|
cds
1.4.0
|
Processor heap. More...
#include <cds/memory/michael/allocator.h>
Public Member Functions | |
| superblock_desc * | get_partial () |
| Get partial superblock owned by the processor heap. | |
| void | add_partial (superblock_desc *pDesc) |
Add partial superblock pDesc to the list. | |
| bool | unlink_partial (superblock_desc *pDesc) |
Remove superblock pDesc from the list of partial superblock. | |
Data Fields | |
| CDS_DATA_ALIGNMENT(8) std processor_desc * | pProcDesc |
| < pointer to the descriptor of active superblock owned by processor heap More... | |
| const size_class * | pSizeClass |
| pointer to size class | |
| std::atomic< superblock_desc * > | pPartial |
| pointer to partial filled superblock (may be NULL) | |
| partial_list | partialList |
| list of partial filled superblocks owned by the processor heap | |
| unsigned int | nPageIdx |
| page size-class index, c_nPageSelfAllocation - "small page" | |
| procheap_stat | stat |
| heap statistics | |
Static Public Attributes | |
| static const unsigned int | c_nPageSelfAllocation = (unsigned int) -1 |
| Small page marker. More... | |
Processor heap.
|
static |
Small page marker.
If page is small and can be allocated by the Heap, the nPageIdx value is c_nPageSelfAllocation. This optimization allows to allocate system memory more regularly, in blocks of 1M that leads to less memory fragmentation.
| CDS_DATA_ALIGNMENT (8) std processor_desc* cds::memory::michael::Heap< Options >::processor_heap_base::pProcDesc |
< pointer to the descriptor of active superblock owned by processor heap
pointer to parent processor descriptor