Lines Matching refs:bin

30     arena_run_t *run, arena_bin_t *bin);
32 arena_run_t *run, arena_bin_t *bin);
1847 arena_bin_runs_first(arena_bin_t *bin) in arena_bin_runs_first() argument
1849 arena_chunk_map_misc_t *miscelm = arena_run_tree_first(&bin->runs); in arena_bin_runs_first()
1857 arena_bin_runs_insert(arena_bin_t *bin, arena_run_t *run) in arena_bin_runs_insert() argument
1861 assert(arena_run_tree_search(&bin->runs, miscelm) == NULL); in arena_bin_runs_insert()
1863 arena_run_tree_insert(&bin->runs, miscelm); in arena_bin_runs_insert()
1867 arena_bin_runs_remove(arena_bin_t *bin, arena_run_t *run) in arena_bin_runs_remove() argument
1871 assert(arena_run_tree_search(&bin->runs, miscelm) != NULL); in arena_bin_runs_remove()
1873 arena_run_tree_remove(&bin->runs, miscelm); in arena_bin_runs_remove()
1877 arena_bin_nonfull_run_tryget(arena_bin_t *bin) in arena_bin_nonfull_run_tryget() argument
1879 arena_run_t *run = arena_bin_runs_first(bin); in arena_bin_nonfull_run_tryget()
1881 arena_bin_runs_remove(bin, run); in arena_bin_nonfull_run_tryget()
1883 bin->stats.reruns++; in arena_bin_nonfull_run_tryget()
1889 arena_bin_nonfull_run_get(arena_t *arena, arena_bin_t *bin) in arena_bin_nonfull_run_get() argument
1896 run = arena_bin_nonfull_run_tryget(bin); in arena_bin_nonfull_run_get()
1901 binind = arena_bin_index(arena, bin); in arena_bin_nonfull_run_get()
1905 malloc_mutex_unlock(&bin->lock); in arena_bin_nonfull_run_get()
1917 malloc_mutex_lock(&bin->lock); in arena_bin_nonfull_run_get()
1920 bin->stats.nruns++; in arena_bin_nonfull_run_get()
1921 bin->stats.curruns++; in arena_bin_nonfull_run_get()
1931 run = arena_bin_nonfull_run_tryget(bin); in arena_bin_nonfull_run_get()
1940 arena_bin_malloc_hard(arena_t *arena, arena_bin_t *bin) in arena_bin_malloc_hard() argument
1946 binind = arena_bin_index(arena, bin); in arena_bin_malloc_hard()
1948 bin->runcur = NULL; in arena_bin_malloc_hard()
1949 run = arena_bin_nonfull_run_get(arena, bin); in arena_bin_malloc_hard()
1950 if (bin->runcur != NULL && bin->runcur->nfree > 0) { in arena_bin_malloc_hard()
1956 assert(bin->runcur->nfree > 0); in arena_bin_malloc_hard()
1957 ret = arena_run_reg_alloc(bin->runcur, bin_info); in arena_bin_malloc_hard()
1971 arena_dalloc_bin_run(arena, chunk, run, bin); in arena_bin_malloc_hard()
1973 arena_bin_lower_run(arena, chunk, run, bin); in arena_bin_malloc_hard()
1981 bin->runcur = run; in arena_bin_malloc_hard()
1983 assert(bin->runcur->nfree > 0); in arena_bin_malloc_hard()
1985 return (arena_run_reg_alloc(bin->runcur, bin_info)); in arena_bin_malloc_hard()
1993 arena_bin_t *bin; in arena_tcache_fill_small() local
1999 bin = &arena->bins[binind]; in arena_tcache_fill_small()
2000 malloc_mutex_lock(&bin->lock); in arena_tcache_fill_small()
2005 if ((run = bin->runcur) != NULL && run->nfree > 0) in arena_tcache_fill_small()
2008 ptr = arena_bin_malloc_hard(arena, bin); in arena_tcache_fill_small()
2030 bin->stats.nmalloc += i; in arena_tcache_fill_small()
2031 bin->stats.nrequests += tbin->tstats.nrequests; in arena_tcache_fill_small()
2032 bin->stats.curregs += i; in arena_tcache_fill_small()
2033 bin->stats.nfills++; in arena_tcache_fill_small()
2036 malloc_mutex_unlock(&bin->lock); in arena_tcache_fill_small()
2151 arena_bin_t *bin; in arena_malloc_small() local
2157 bin = &arena->bins[binind]; in arena_malloc_small()
2160 malloc_mutex_lock(&bin->lock); in arena_malloc_small()
2161 if ((run = bin->runcur) != NULL && run->nfree > 0) in arena_malloc_small()
2164 ret = arena_bin_malloc_hard(arena, bin); in arena_malloc_small()
2167 malloc_mutex_unlock(&bin->lock); in arena_malloc_small()
2172 bin->stats.nmalloc++; in arena_malloc_small()
2173 bin->stats.nrequests++; in arena_malloc_small()
2174 bin->stats.curregs++; in arena_malloc_small()
2176 malloc_mutex_unlock(&bin->lock); in arena_malloc_small()
2410 arena_bin_t *bin) in arena_dissociate_bin_run() argument
2414 if (run == bin->runcur) in arena_dissociate_bin_run()
2415 bin->runcur = NULL; in arena_dissociate_bin_run()
2418 &chunk->node), bin); in arena_dissociate_bin_run()
2427 arena_bin_runs_remove(bin, run); in arena_dissociate_bin_run()
2434 arena_bin_t *bin) in arena_dalloc_bin_run() argument
2437 assert(run != bin->runcur); in arena_dalloc_bin_run()
2438 assert(arena_run_tree_search(&bin->runs, arena_run_to_miscelm(run)) == in arena_dalloc_bin_run()
2441 malloc_mutex_unlock(&bin->lock); in arena_dalloc_bin_run()
2447 malloc_mutex_lock(&bin->lock); in arena_dalloc_bin_run()
2449 bin->stats.curruns--; in arena_dalloc_bin_run()
2454 arena_bin_t *bin) in arena_bin_lower_run() argument
2462 if ((uintptr_t)run < (uintptr_t)bin->runcur) { in arena_bin_lower_run()
2464 if (bin->runcur->nfree > 0) in arena_bin_lower_run()
2465 arena_bin_runs_insert(bin, bin->runcur); in arena_bin_lower_run()
2466 bin->runcur = run; in arena_bin_lower_run()
2468 bin->stats.reruns++; in arena_bin_lower_run()
2470 arena_bin_runs_insert(bin, run); in arena_bin_lower_run()
2479 arena_bin_t *bin; in arena_dalloc_bin_locked_impl() local
2487 bin = &arena->bins[binind]; in arena_dalloc_bin_locked_impl()
2495 arena_dissociate_bin_run(chunk, run, bin); in arena_dalloc_bin_locked_impl()
2496 arena_dalloc_bin_run(arena, chunk, run, bin); in arena_dalloc_bin_locked_impl()
2497 } else if (run->nfree == 1 && run != bin->runcur) in arena_dalloc_bin_locked_impl()
2498 arena_bin_lower_run(arena, chunk, run, bin); in arena_dalloc_bin_locked_impl()
2501 bin->stats.ndalloc++; in arena_dalloc_bin_locked_impl()
2502 bin->stats.curregs--; in arena_dalloc_bin_locked_impl()
2519 arena_bin_t *bin; in arena_dalloc_bin() local
2524 bin = &arena->bins[run->binind]; in arena_dalloc_bin()
2525 malloc_mutex_lock(&bin->lock); in arena_dalloc_bin()
2527 malloc_mutex_unlock(&bin->lock); in arena_dalloc_bin()
2974 arena_bin_t *bin = &arena->bins[i]; in arena_stats_merge() local
2976 malloc_mutex_lock(&bin->lock); in arena_stats_merge()
2977 bstats[i].nmalloc += bin->stats.nmalloc; in arena_stats_merge()
2978 bstats[i].ndalloc += bin->stats.ndalloc; in arena_stats_merge()
2979 bstats[i].nrequests += bin->stats.nrequests; in arena_stats_merge()
2980 bstats[i].curregs += bin->stats.curregs; in arena_stats_merge()
2982 bstats[i].nfills += bin->stats.nfills; in arena_stats_merge()
2983 bstats[i].nflushes += bin->stats.nflushes; in arena_stats_merge()
2985 bstats[i].nruns += bin->stats.nruns; in arena_stats_merge()
2986 bstats[i].reruns += bin->stats.reruns; in arena_stats_merge()
2987 bstats[i].curruns += bin->stats.curruns; in arena_stats_merge()
2988 malloc_mutex_unlock(&bin->lock); in arena_stats_merge()
2997 arena_bin_t *bin; in arena_new() local
3078 bin = &arena->bins[i]; in arena_new()
3079 if (malloc_mutex_init(&bin->lock)) in arena_new()
3081 bin->runcur = NULL; in arena_new()
3082 arena_run_tree_new(&bin->runs); in arena_new()
3084 memset(&bin->stats, 0, sizeof(malloc_bin_stats_t)); in arena_new()
3197 #define SC(index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup) \ in bin_info_init() argument
3198 BIN_INFO_INIT_bin_##bin(index, (ZU(1)<<lg_grp) + (ZU(ndelta)<<lg_delta)) in bin_info_init()
3221 #define SC(index, lg_grp, lg_delta, ndelta, bin, lg_delta_lookup) \ in small_run_size_init() argument
3222 TAB_INIT_bin_##bin(index, (ZU(1)<<lg_grp) + (ZU(ndelta)<<lg_delta)) in small_run_size_init()