diff options
author | jasone <jasone@FreeBSD.org> | 2008-02-06 02:59:54 +0000 |
---|---|---|
committer | jasone <jasone@FreeBSD.org> | 2008-02-06 02:59:54 +0000 |
commit | 44c343f8fa20d86c54fbf7b2b90d931648a29f95 (patch) | |
tree | ed1b3ba2f9f69f641eed2a388dccf785d4de022d /lib/libc/stdlib/exit.c | |
parent | 0635509b37504b63d5eb26d757055029065f8597 (diff) | |
download | FreeBSD-src-44c343f8fa20d86c54fbf7b2b90d931648a29f95.zip FreeBSD-src-44c343f8fa20d86c54fbf7b2b90d931648a29f95.tar.gz |
Track dirty unused pages so that they can be purged if they exceed a
threshold, according to the 'F' MALLOC_OPTIONS flag. This obsoletes the
'H' flag.
Try to realloc() large objects in place. This substantially speeds up
incremental large reallocations in the common case.
Fix a bug in arena_ralloc() that caused relocation of sub-page objects
even if the old and new sizes were in the same size class.
Maintain trees of runs and simplify the per-chunk page map. This allows
logarithmic-time searching for sufficiently large runs in
arena_run_alloc(), whereas the previous algorithm required linear time
in the worst case.
Break various large functions into smaller sub-functions, and inline
only the functions that are in the fast path for small object
allocation/deallocation.
Remove an unnecessary check in base_pages_alloc_mmap().
Avoid integer division in choose_arena() for the NO_TLS case on
single-CPU systems.
Diffstat (limited to 'lib/libc/stdlib/exit.c')
0 files changed, 0 insertions, 0 deletions