mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-08-25 16:43:33 +03:00
Pull out edata_t caching into its own module.
This commit is contained in:
parent
a7862df616
commit
7859184179
12 changed files with 106 additions and 60 deletions
|
|
@ -123,7 +123,7 @@ extent_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr, size_t size,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
gap = extent_alloc(tsdn, arena);
|
||||
gap = edata_cache_get(tsdn, &arena->edata_cache, arena->base);
|
||||
if (gap == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -188,7 +188,8 @@ extent_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr, size_t size,
|
|||
if (gap_size_page != 0) {
|
||||
extent_dalloc_gap(tsdn, arena, gap);
|
||||
} else {
|
||||
extent_dalloc(tsdn, arena, gap);
|
||||
edata_cache_put(tsdn,
|
||||
&arena->edata_cache, gap);
|
||||
}
|
||||
if (!*commit) {
|
||||
*commit = pages_decommit(ret, size);
|
||||
|
|
@ -224,7 +225,7 @@ extent_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr, size_t size,
|
|||
}
|
||||
label_oom:
|
||||
extent_dss_extending_finish();
|
||||
extent_dalloc(tsdn, arena, gap);
|
||||
edata_cache_put(tsdn, &arena->edata_cache, gap);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue