inline void ssmem_release(ssmem_allocator_t* a, void* obj) { ssmem_released_t* rel_list = a->released_mem_list; ssmem_released_t* rel = ssmem_released_node_new(obj, rel_list); rel->ts_set = ssmem_ts_set_collect(rel->ts_set); a->released_num++; a->released_mem_list = rel; }
void ssmem_release(ssmem_allocator_t* a, void* obj) { ssmem_released_t* rel_list = a->released_mem_list; ssmem_released_t* rel = ssmem_released_node_new(obj, rel_list); rel->ts_set = ssmem_ts_set_collect(rel->ts_set); int rn = ++a->released_num; a->released_mem_list = rel; if (rn >= SSMEM_GC_RLSE_SET_SIZE) { ssmem_mem_reclaim(a); } }