History log of /external/jemalloc/include/jemalloc/internal/size_classes.sh
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1abb49f09d98e265ad92a831a056ccdfb4cf6041 18-Apr-2016 Jason Evans <jasone@canonware.com> Implement pz2ind(), pind2sz(), and psz2u().

These compute size classes and indices similarly to size2index(),
index2size() and s2u(), respectively, but using the subset of size
classes that are multiples of the page size. Note that pszind_t and
szind_t are not interchangeable.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
0c516a00c4cb28cff55ce0995f756b5aae074c9e 26-Feb-2016 Jason Evans <je@fb.com> Make *allocx() size class overflow behavior defined.

Limit supported size and alignment to HUGE_MAXCLASS, which in turn is
now limited to be less than PTRDIFF_MAX.

This resolves #278 and #295.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
560a4e1e01d3733c2f107cdb3cc3580f3ed84442 12-Sep-2015 Jason Evans <jasone@canonware.com> Fix xallocx() bugs.

Fix xallocx() bugs related to the 'extra' parameter when specified as
non-zero.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
713b844bfffe7ce7454259da6ae24638794b1967 15-Jun-2015 Jason Evans <je@fb.com> Update a comment.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
81e547566e9bd55db7c317c5848ab9dc189047cb 11-Oct-2014 Jason Evans <jasone@canonware.com> Add --with-lg-tiny-min, generalize --with-lg-quantum.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
fc0b3b7383373d66cfed2cd4e2faa272a6868d32 10-Oct-2014 Jason Evans <jasone@canonware.com> Add configure options.

Add:
--with-lg-page
--with-lg-page-sizes
--with-lg-size-class-group
--with-lg-quantum

Get rid of STATIC_PAGE_SHIFT, in favor of directly setting LG_PAGE.

Fix various edge conditions exposed by the configure options.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
155bfa7da18cab0d21d87aa2dce4554166836f5d 06-Oct-2014 Jason Evans <jasone@canonware.com> Normalize size classes.

Normalize size classes to use the same number of size classes per size
doubling (currently hard coded to 4), across the intire range of size
classes. Small size classes already used this spacing, but in order to
support this change, additional small size classes now fill [4 KiB .. 16
KiB). Large size classes range from [16 KiB .. 4 MiB). Huge size
classes now support non-multiples of the chunk size in order to fill (4
MiB .. 16 MiB).
/external/jemalloc/include/jemalloc/internal/size_classes.sh
b718cf77e9917f6ae1995c2e2b219ff4219c9f46 07-Sep-2014 Jason Evans <je@fb.com> Optimize [nmd]alloc() fast paths.

Optimize [nmd]alloc() fast paths such that the (flags == 0) case is
streamlined, flags decoding only happens to the minimum degree
necessary, and no conditionals are repeated.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
ff6a31d3b92b7c63446ce645341d2bbd77b67dc6 29-Aug-2014 Qinfan Wu <wqfish@fb.com> Refactor chunk map.

Break the chunk map into two separate arrays, in order to improve cache
locality. This is related to issue #23.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
d04047cc29bbc9d1f87a9346d1601e3dd87b6ca0 29-May-2014 Jason Evans <je@fb.com> Add size class computation capability.

Add size class computation capability, currently used only as validation
of the size class lookup tables. Generalize the size class spacing used
for bins, for eventual use throughout the full range of allocation
sizes.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
9b0cbf0850b130a9b0a8c58bd10b2926b2083510 11-Apr-2014 Jason Evans <je@fb.com> 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).
/external/jemalloc/include/jemalloc/internal/size_classes.sh
72ca7220f21ef32f17d12cfde1bd9732d56fb872 16-Apr-2012 Mike Hommey <mh@glandium.org> Use echo instead of cat in loops in size_classes.sh

This avoids fork/exec()ing in loops, as echo is a builtin, and makes
size_classes.sh much faster (from > 10s to < 0.2s on mingw on my machine).
/external/jemalloc/include/jemalloc/internal/size_classes.sh
12a6845b6c91cf76caf3199495d76b16bba1f2fe 03-Apr-2012 Jason Evans <jasone@canonware.com> Use $((...)) instead of expr.

Use $((...)) for math in size_classes.h rather than expr, because it is
much faster. This is not supported syntax in the classic Bourne shell,
but all modern sh implementations support it, including bash, zsh, and
ash.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
ae4c7b4b4092906c641d69b4bf9fcb4a7d50790d 02-Apr-2012 Jason Evans <jasone@canonware.com> Clean up *PAGE* macros.

s/PAGE_SHIFT/LG_PAGE/g and s/PAGE_SIZE/PAGE/g.

Remove remnants of the dynamic-page-shift code.

Rename the "arenas.pagesize" mallctl to "arenas.page".

Remove the "arenas.chunksize" mallctl, which is redundant with
"opt.lg_chunk".
/external/jemalloc/include/jemalloc/internal/size_classes.sh
125b93e43fe764e46c8a89fc2f3957a4e02c92e1 12-Mar-2012 Jason Evans <je@fb.com> Remove bashism.

Submitted by Mike Hommey.
/external/jemalloc/include/jemalloc/internal/size_classes.sh
b172610317babc7f365584ddd7fdaf4eb8d9d04c 29-Feb-2012 Jason Evans <je@fb.com> Simplify small size class infrastructure.

Program-generate small size class tables for all valid combinations of
LG_TINY_MIN, LG_QUANTUM, and PAGE_SHIFT. Use the appropriate table to generate
all relevant data structures, and remove the distinction between
tiny/quantum/cacheline/subpage bins.

Remove --enable-dynamic-page-shift. This option didn't prove useful in
practice, and it prevented optimizations.

Add Tilera architecture support.
/external/jemalloc/include/jemalloc/internal/size_classes.sh