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

Function mi_segment_ensure_committed

3rd/mimalloc-2.0.9/src/segment.c:502–507  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

500}
501
502static bool mi_segment_ensure_committed(mi_segment_t* segment, uint8_t* p, size_t size, mi_stats_t* stats) {
503 mi_assert_internal(mi_commit_mask_all_set(&segment->commit_mask, &segment->decommit_mask));
504 // note: assumes commit_mask is always full for huge segments as otherwise the commit mask bits can overflow
505 if (mi_commit_mask_is_full(&segment->commit_mask) && mi_commit_mask_is_empty(&segment->decommit_mask)) return true; // fully committed
506 return mi_segment_commitx(segment,true,p,size,stats);
507}
508
509static void mi_segment_perhaps_decommit(mi_segment_t* segment, uint8_t* p, size_t size, mi_stats_t* stats) {
510 if (!segment->allow_decommit) return;

Callers 2

mi_segment_span_allocateFunction · 0.85
mi_segment_allocFunction · 0.85

Calls 4

mi_commit_mask_all_setFunction · 0.85
mi_commit_mask_is_fullFunction · 0.85
mi_commit_mask_is_emptyFunction · 0.85
mi_segment_commitxFunction · 0.85

Tested by

no test coverage detected