|
#define | HEAP_PREV_BLOCK_USED ((uintptr_t) 1) |
| See also Heap_Block::size_and_flag.
|
|
#define | HEAP_ALLOC_BONUS sizeof(uintptr_t) |
| Size of the part at the block begin which may be used for allocation in charge of the previous block.
|
|
#define | _Heap_Protection_block_initialize(heap, block) ((void) 0) |
|
#define | _Heap_Protection_block_check(heap, block) ((void) 0) |
|
#define | _Heap_Protection_block_error(heap, block, reason) ((void) 0) |
|
#define | _Heap_Protection_free_all_delayed_blocks(heap) ((void) 0) |
|
#define | _HAssert(cond) ((void) 0) |
|
|
bool | _Heap_Get_first_and_last_block (uintptr_t heap_area_begin, uintptr_t heap_area_size, uintptr_t page_size, uintptr_t min_block_size, Heap_Block **first_block_ptr, Heap_Block **last_block_ptr) |
| Gets the first and last block for the heap area.
|
|
uintptr_t | _Heap_Initialize (Heap_Control *heap, void *area_begin, uintptr_t area_size, uintptr_t page_size) |
| Initializes the heap control block.
|
|
void * | _Heap_Allocate_aligned_with_boundary (Heap_Control *heap, uintptr_t size, uintptr_t alignment, uintptr_t boundary) |
| Allocates an aligned memory area with boundary constraint.
|
|
bool | _Heap_Free (Heap_Control *heap, void *addr) |
| Frees the allocated memory area.
|
|
bool | _Heap_Walk (Heap_Control *heap, int source, bool dump) |
| Verifies the integrity of the heap.
|
|
void | _Heap_Iterate (Heap_Control *heap, Heap_Block_visitor visitor, void *visitor_arg) |
| Iterates over all blocks of the heap.
|
|
Heap_Block * | _Heap_Greedy_allocate (Heap_Control *heap, const uintptr_t *block_sizes, size_t block_count) |
| Greedily allocates and empties the heap.
|
|
Heap_Block * | _Heap_Greedy_allocate_all_except_largest (Heap_Control *heap, uintptr_t *allocatable_size) |
| Greedily allocates all blocks except the largest free block.
|
|
void | _Heap_Greedy_free (Heap_Control *heap, Heap_Block *blocks) |
| Frees blocks of a greedy allocation.
|
|
void | _Heap_Get_information (Heap_Control *heap, Heap_Information_block *info) |
| Returns information about used and free blocks for the heap.
|
|
void | _Heap_Get_free_information (Heap_Control *heap, Heap_Information *info) |
| Returns information about free blocks for the heap.
|
|
bool | _Heap_Size_of_alloc_area (Heap_Control *heap, void *addr, uintptr_t *size) |
| Returns the size of the allocatable memory area.
|
|
Heap_Resize_status | _Heap_Resize_block (Heap_Control *heap, void *addr, uintptr_t size, uintptr_t *old_size, uintptr_t *new_size) |
| Resizes the block of the allocated memory area.
|
|
Heap_Block * | _Heap_Block_allocate (Heap_Control *heap, Heap_Block *block, uintptr_t alloc_begin, uintptr_t alloc_size) |
| Allocates the memory area. starting at alloc_begin of size alloc_size bytes in the block block.
|
|
This header file provides interfaces of the Barrier Handler which are only used by the implementation.