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
|