Pull out arena_bin_info_t and arena_bin_t into their own file.

In the process, kill arena_bin_index, which is unused.  To follow are several
diffs continuing this separation.
This commit is contained in:
David T. Goldblatt
2017-10-01 17:22:06 -07:00
committed by David Goldblatt
parent 740bdd68b1
commit 4bf4a1c4ea
16 changed files with 169 additions and 155 deletions

21
src/bin.c Normal file
View File

@@ -0,0 +1,21 @@
#include "jemalloc/internal/jemalloc_preamble.h"
#include "jemalloc/internal/jemalloc_internal_includes.h"
#include "jemalloc/internal/bin.h"
const bin_info_t bin_infos[NBINS] = {
#define BIN_INFO_bin_yes(reg_size, slab_size, nregs) \
{reg_size, slab_size, nregs, BITMAP_INFO_INITIALIZER(nregs)},
#define BIN_INFO_bin_no(reg_size, slab_size, nregs)
#define SC(index, lg_grp, lg_delta, ndelta, psz, bin, pgs, \
lg_delta_lookup) \
BIN_INFO_bin_##bin((1U<<lg_grp) + (ndelta<<lg_delta), \
(pgs << LG_PAGE), (pgs << LG_PAGE) / ((1U<<lg_grp) + \
(ndelta<<lg_delta)))
SIZE_CLASSES
#undef BIN_INFO_bin_yes
#undef BIN_INFO_bin_no
#undef SC
};