diff options
author | Jason Evans <je@fb.com> | 2014-04-11 14:24:51 -0700 |
---|---|---|
committer | Jason Evans <je@fb.com> | 2014-04-11 14:24:51 -0700 |
commit | 9b0cbf0850b130a9b0a8c58bd10b2926b2083510 (patch) | |
tree | 74b6fda70b9481fb1630f5ec60a53aba32a8d226 /include/jemalloc/internal/size_classes.sh | |
parent | f4e026f525177e065653d4e17e03e74d4fc90b97 (diff) | |
download | jemalloc-9b0cbf0850b130a9b0a8c58bd10b2926b2083510.tar.gz |
Remove support for non-prof-promote heap profiling metadata.
Make promotion of sampled small objects to large objects mandatory, so
that profiling metadata can always be stored in the chunk map, rather
than requiring one pointer per small region in each small-region page
run. In practice the non-prof-promote code was only useful when using
jemalloc to track all objects and report them as leaks at program exit.
However, Valgrind is at least as good a tool for this particular use
case.
Furthermore, the non-prof-promote code is getting in the way of
some optimizations that will make heap profiling much cheaper for the
predominant use case (sampling a small representative proportion of all
allocations).
Diffstat (limited to 'include/jemalloc/internal/size_classes.sh')
-rwxr-xr-x | include/jemalloc/internal/size_classes.sh | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/include/jemalloc/internal/size_classes.sh b/include/jemalloc/internal/size_classes.sh index 29c80c1..960674a 100755 --- a/include/jemalloc/internal/size_classes.sh +++ b/include/jemalloc/internal/size_classes.sh @@ -94,9 +94,8 @@ cat <<EOF /* * The small_size2bin lookup table uses uint8_t to encode each bin index, so we * cannot support more than 256 small size classes. Further constrain NBINS to - * 255 to support prof_promote, since all small size classes, plus a "not - * small" size class must be stored in 8 bits of arena_chunk_map_t's bits - * field. + * 255 since all small size classes, plus a "not small" size class must be + * stored in 8 bits of arena_chunk_map_t's bits field. */ #if (NBINS > 255) # error "Too many small size classes" |