MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / _mi_page_is_valid

Function _mi_page_is_valid

3rd/mimalloc-2.0.9/src/page.c:106–126  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

104}
105
106bool _mi_page_is_valid(mi_page_t* page) {
107 mi_assert_internal(mi_page_is_valid_init(page));
108 #if MI_SECURE
109 mi_assert_internal(page->keys[0] != 0);
110 #endif
111 if (mi_page_heap(page)!=NULL) {
112 mi_segment_t* segment = _mi_page_segment(page);
113
114 mi_assert_internal(!_mi_process_is_initialized || segment->thread_id==0 || segment->thread_id == mi_page_heap(page)->thread_id);
115 #if MI_HUGE_PAGE_ABANDON
116 if (segment->kind != MI_SEGMENT_HUGE)
117 #endif
118 {
119 mi_page_queue_t* pq = mi_page_queue_of(page);
120 mi_assert_internal(mi_page_queue_contains(pq, page));
121 mi_assert_internal(pq->block_size==mi_page_block_size(page) || mi_page_block_size(page) > MI_MEDIUM_OBJ_SIZE_MAX || mi_page_is_in_full(page));
122 mi_assert_internal(mi_heap_contains_queue(mi_page_heap(page),pq));
123 }
124 }
125 return true;
126}
127#endif
128
129void _mi_page_use_delayed_free(mi_page_t* page, mi_delayed_t delay, bool override_never) {

Callers 7

mi_heap_page_is_validFunction · 0.85
_mi_page_reclaimFunction · 0.85
mi_page_fresh_allocFunction · 0.85
_mi_page_unfullFunction · 0.85
_mi_page_abandonFunction · 0.85
_mi_page_freeFunction · 0.85
_mi_page_retireFunction · 0.85

Calls 6

mi_page_is_valid_initFunction · 0.85
mi_page_heapFunction · 0.85
_mi_page_segmentFunction · 0.85
mi_page_queue_ofFunction · 0.85
mi_page_block_sizeFunction · 0.85
mi_page_is_in_fullFunction · 0.85

Tested by

no test coverage detected