summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/exit.c
diff options
context:
space:
mode:
authorjasone <jasone@FreeBSD.org>2008-02-06 02:59:54 +0000
committerjasone <jasone@FreeBSD.org>2008-02-06 02:59:54 +0000
commit44c343f8fa20d86c54fbf7b2b90d931648a29f95 (patch)
treeed1b3ba2f9f69f641eed2a388dccf785d4de022d /lib/libc/stdlib/exit.c
parent0635509b37504b63d5eb26d757055029065f8597 (diff)
downloadFreeBSD-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
OpenPOWER on IntegriCloud