LLVM 20.0.0git
Public Attributes | List of all members
heap_t Struct Reference

Public Attributes

uintptr_t owner_thread
 Owning thread ID.
 
heap_size_class_t size_class [SIZE_CLASS_COUNT]
 Free lists for each size class.
 
atomicptr_t span_free_deferred
 List of deferred free spans (single linked list)
 
size_t full_span_count
 Number of full spans.
 
span_tspan_reserve
 Mapped but unused spans.
 
span_tspan_reserve_master
 Master span for mapped but unused spans.
 
uint32_t spans_reserved
 Number of mapped but unused spans.
 
atomic32_t child_count
 Child count.
 
heap_tnext_heap
 Next heap in id list.
 
heap_tnext_orphan
 Next heap in orphan list.
 
int32_t id
 Heap ID.
 
int finalize
 Finalization state flag.
 
heap_tmaster_heap
 Master heap owning the memory pages.
 

Detailed Description

Definition at line 666 of file rpmalloc.c.

Member Data Documentation

◆ child_count

atomic32_t heap_t::child_count

Child count.

Definition at line 686 of file rpmalloc.c.

Referenced by _rpmalloc_heap_unmap().

◆ finalize

int heap_t::finalize

◆ full_span_count

size_t heap_t::full_span_count

◆ id

int32_t heap_t::id

Heap ID.

Definition at line 692 of file rpmalloc.c.

Referenced by _rpmalloc_heap_global_finalize(), and _rpmalloc_heap_initialize().

◆ master_heap

heap_t* heap_t::master_heap

Master heap owning the memory pages.

Definition at line 696 of file rpmalloc.c.

Referenced by _rpmalloc_heap_allocate_new(), and _rpmalloc_heap_unmap().

◆ next_heap

heap_t* heap_t::next_heap

Next heap in id list.

Definition at line 688 of file rpmalloc.c.

Referenced by _rpmalloc_heap_global_finalize(), _rpmalloc_heap_initialize(), rpmalloc_dump_statistics(), and rpmalloc_finalize().

◆ next_orphan

heap_t* heap_t::next_orphan

Next heap in orphan list.

Definition at line 690 of file rpmalloc.c.

Referenced by _rpmalloc_heap_extract_orphan(), and _rpmalloc_heap_orphan().

◆ owner_thread

uintptr_t heap_t::owner_thread

◆ size_class

heap_size_class_t heap_t::size_class[SIZE_CLASS_COUNT]

◆ span_free_deferred

atomicptr_t heap_t::span_free_deferred

List of deferred free spans (single linked list)

Definition at line 676 of file rpmalloc.c.

Referenced by _rpmalloc_deallocate_defer_free_span(), _rpmalloc_heap_cache_adopt_deferred(), _rpmalloc_heap_finalize(), and rpmalloc_thread_statistics().

◆ span_reserve

span_t* heap_t::span_reserve

◆ span_reserve_master

span_t* heap_t::span_reserve_master

Master span for mapped but unused spans.

Definition at line 682 of file rpmalloc.c.

Referenced by _rpmalloc_deallocate_large(), _rpmalloc_heap_set_reserved_spans(), _rpmalloc_span_map_aligned_count(), and _rpmalloc_span_map_from_reserve().

◆ spans_reserved

uint32_t heap_t::spans_reserved

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