mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-06 23:39:31 +03:00
merge from dev-exp
This commit is contained in:
commit
fba65c440c
1 changed files with 7 additions and 3 deletions
10
src/region.c
10
src/region.c
|
@ -301,9 +301,13 @@ static void* mi_region_try_alloc(size_t blocks, bool* commit, bool* large, bool*
|
||||||
_mi_bitmap_claim(®ion->commit, 1, blocks, bit_idx, &any_uncommitted);
|
_mi_bitmap_claim(®ion->commit, 1, blocks, bit_idx, &any_uncommitted);
|
||||||
if (any_uncommitted) {
|
if (any_uncommitted) {
|
||||||
mi_assert_internal(!info.x.is_large && !info.x.is_pinned);
|
mi_assert_internal(!info.x.is_large && !info.x.is_pinned);
|
||||||
bool commit_zero;
|
bool commit_zero = false;
|
||||||
_mi_mem_commit(p, blocks * MI_SEGMENT_SIZE, &commit_zero, tld);
|
if (!_mi_mem_commit(p, blocks * MI_SEGMENT_SIZE, &commit_zero, tld)) {
|
||||||
if (commit_zero) *is_zero = true;
|
// failed to commit! unclaim and return
|
||||||
|
mi_bitmap_unclaim(®ion->in_use, 1, blocks, bit_idx);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (commit_zero) *is_zero = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
Loading…
Add table
Reference in a new issue