Cache bin: Add an emptiness assertion.
This commit is contained in:
parent
6a7aa46ef7
commit
d498a4bb08
@ -146,6 +146,13 @@ cache_bin_empty_position_get(cache_bin_t *bin, cache_bin_info_t *info) {
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void
|
||||||
|
cache_bin_assert_empty(cache_bin_t *bin, cache_bin_info_t *info) {
|
||||||
|
assert(cache_bin_ncached_get(bin, info) == 0);
|
||||||
|
assert(cache_bin_empty_position_get(bin, info) == bin->cur_ptr.ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Returns the numeric value of low water in [0, ncached]. */
|
/* Returns the numeric value of low water in [0, ncached]. */
|
||||||
static inline cache_bin_sz_t
|
static inline cache_bin_sz_t
|
||||||
cache_bin_low_water_get(cache_bin_t *bin, cache_bin_info_t *info) {
|
cache_bin_low_water_get(cache_bin_t *bin, cache_bin_info_t *info) {
|
||||||
|
@ -566,9 +566,7 @@ tcache_destroy(tsd_t *tsd, tcache_t *tcache, bool tsd_tcache) {
|
|||||||
if (tsd_tcache) {
|
if (tsd_tcache) {
|
||||||
/* Release the avail array for the TSD embedded auto tcache. */
|
/* Release the avail array for the TSD embedded auto tcache. */
|
||||||
cache_bin_t *bin = tcache_small_bin_get(tcache, 0);
|
cache_bin_t *bin = tcache_small_bin_get(tcache, 0);
|
||||||
assert(cache_bin_ncached_get(bin, &tcache_bin_info[0]) == 0);
|
cache_bin_assert_empty(bin, &tcache_bin_info[0]);
|
||||||
assert(cache_bin_empty_position_get(bin, &tcache_bin_info[0]) ==
|
|
||||||
bin->cur_ptr.ptr);
|
|
||||||
void *avail_array = (void *)((uintptr_t)bin->cur_ptr.ptr -
|
void *avail_array = (void *)((uintptr_t)bin->cur_ptr.ptr -
|
||||||
tcache_bin_info[0].stack_size);
|
tcache_bin_info[0].stack_size);
|
||||||
idalloctm(tsd_tsdn(tsd), avail_array, NULL, NULL, true, true);
|
idalloctm(tsd_tsdn(tsd), avail_array, NULL, NULL, true, true);
|
||||||
|
Loading…
Reference in New Issue
Block a user