diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/arena.c | 2 | ||||
-rw-r--r-- | src/base.c | 2 | ||||
-rw-r--r-- | src/chunk.c | 11 | ||||
-rw-r--r-- | src/chunk_dss.c | 2 |
4 files changed, 9 insertions, 8 deletions
diff --git a/src/arena.c b/src/arena.c index 17cf973..a08a324 100644 --- a/src/arena.c +++ b/src/arena.c @@ -1644,7 +1644,7 @@ arena_purge_to_limit(tsdn_t *tsdn, arena_t *arena, size_t ndirty_limit) arena->lg_dirty_mult) < arena->ndirty || ndirty_limit == 0); qr_new(&purge_runs_sentinel, rd_link); - extent_init(&purge_chunks_sentinel, arena, NULL, 0, false, false, + extent_init(&purge_chunks_sentinel, arena, NULL, 0, false, false, false, false, false); npurge = arena_stash_dirty(tsdn, arena, &chunk_hooks, ndirty_limit, @@ -74,7 +74,7 @@ base_chunk_alloc(tsdn_t *tsdn, size_t minsize) base_resident += PAGE_CEILING(nsize); } } - extent_init(extent, NULL, addr, csize, true, true, true, false); + extent_init(extent, NULL, addr, csize, true, false, true, true, false); return (extent); } diff --git a/src/chunk.c b/src/chunk.c index 2ec12b4..c1094ff 100644 --- a/src/chunk.c +++ b/src/chunk.c @@ -553,7 +553,7 @@ chunk_alloc_wrapper_hard(tsdn_t *tsdn, arena_t *arena, arena->ind); if (addr == NULL) return (NULL); - extent_init(extent, arena, addr, size, true, zero, commit, slab); + extent_init(extent, arena, addr, size, true, false, zero, commit, slab); if (chunk_register(tsdn, extent)) { chunk_leak(tsdn, arena, chunk_hooks, false, extent); return (NULL); @@ -828,8 +828,9 @@ chunk_split_wrapper(tsdn_t *tsdn, arena_t *arena, chunk_hooks_t *chunk_hooks, extent_t lead; extent_init(&lead, arena, extent_addr_get(extent), size_a, - extent_active_get(extent), extent_zeroed_get(extent), - extent_committed_get(extent), extent_slab_get(extent)); + extent_active_get(extent), extent_dirty_get(extent), + extent_zeroed_get(extent), extent_committed_get(extent), + extent_slab_get(extent)); if (extent_rtree_acquire(tsdn, &lead, false, true, &lead_elm_a, &lead_elm_b)) @@ -838,8 +839,8 @@ chunk_split_wrapper(tsdn_t *tsdn, arena_t *arena, chunk_hooks_t *chunk_hooks, extent_init(trail, arena, (void *)((uintptr_t)extent_addr_get(extent) + size_a), CHUNK_CEILING(size_b), extent_active_get(extent), - extent_zeroed_get(extent), extent_committed_get(extent), - extent_slab_get(extent)); + extent_dirty_get(extent), extent_zeroed_get(extent), + extent_committed_get(extent), extent_slab_get(extent)); if (extent_rtree_acquire(tsdn, trail, false, true, &trail_elm_a, &trail_elm_b)) goto label_error_c; diff --git a/src/chunk_dss.c b/src/chunk_dss.c index 251f17b..6b90c53 100644 --- a/src/chunk_dss.c +++ b/src/chunk_dss.c @@ -126,7 +126,7 @@ chunk_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr, size_t size, return (NULL); } extent_init(cpad, arena, cpad_addr, cpad_size, - false, false, true, false); + false, true, false, true, false); } dss_next = (void *)((uintptr_t)ret + size); if ((uintptr_t)ret < (uintptr_t)dss_max || |