freebsd-skq/lib/libc/stdlib
Jason Evans 5355c74026 Use some math tricks in arena_run_reg_dalloc() to avoid actual division, as
well as avoiding a switch statement.  This change has no significant impact
to performance when branch prediction is successful at predicting the sizes
of objects passed to free(), but in the case that the object sizes are
semi-random, this change has the potential to prevent many branch prediction
misses, thus improving performance substantially.

Take advantage of alignment guarantees in ipalloc(), and pad object sizes to
something less than a power of two when possible.  This has the potential
to substantially reduce internal fragmentation for objects allocated via
posix_memalign().

Avoid an unnecessary pow2_ceil() call in arena_ralloc().

Submitted by:	djam8193ah@hotmail.com
2006-07-01 16:51:10 +00:00
..
_Exit.c
a64l.3 Fix typo in manual page reference. 2006-02-26 23:01:11 +00:00
a64l.c Correct decoding a string containing '/'. 2006-05-19 19:06:38 +00:00
abort.3
abort.c Move the declaration of __cleanup to libc_private.h as it is used in both 2005-09-12 13:46:32 +00:00
abs.3
abs.c
alloca.3
atexit.3
atexit.c
atexit.h
atof.3
atof.c
atoi.3
atoi.c
atol.3
atol.c
atoll.c
bsearch.3
bsearch.c
div.3
div.c
exit.3
exit.c Move the declaration of __cleanup to libc_private.h as it is used in both 2005-09-12 13:46:32 +00:00
getenv.3 Sort sections. 2005-01-20 09:17:07 +00:00
getenv.c
getopt_long.3 Sort sections. 2005-01-20 09:17:07 +00:00
getopt_long.c
getopt.3
getopt.c
getsubopt.3
getsubopt.c
grantpt.3
grantpt.c Remove extra slash from pty slave device name returned by ptsname. 2006-02-13 00:04:04 +00:00
hcreate.3 Sort sections. 2005-01-20 09:17:07 +00:00
hcreate.c
heapsort.c
imaxabs.3
imaxabs.c
imaxdiv.3
imaxdiv.c
insque.3
insque.c
l64a.c Add a64l(), l64a(), and l64a_r() XSI extentions. These functions convert 2005-12-24 22:37:59 +00:00
labs.3
labs.c
ldiv.3
ldiv.c
llabs.3
llabs.c
lldiv.3
lldiv.c
lsearch.3 Sort sections. 2005-01-20 09:17:07 +00:00
lsearch.c
Makefile.inc Add malloc_usable_size(3). 2006-03-28 22:16:04 +00:00
malloc.3 s/soley/solely 2006-04-13 18:19:44 +00:00
malloc.c Use some math tricks in arena_run_reg_dalloc() to avoid actual division, as 2006-07-01 16:51:10 +00:00
memory.3
merge.c Fix some signed/unsigned comparisons. Fix prototypes while I'm here. 2005-01-12 03:39:34 +00:00
posix_memalign.3 In preparation for a new malloc implementation: 2006-01-12 07:28:21 +00:00
putenv.c
qsort_r.c
qsort.3 Sort sections. 2005-01-20 09:17:07 +00:00
qsort.c
radixsort.3
radixsort.c
rand.3
rand.c
random.3 Sort sections. 2005-01-20 09:17:07 +00:00
random.c
reallocf.c
realpath.3
realpath.c
remque.c
setenv.c
strfmon.3
strfmon.c Include a couple of headers to ensure consistency between the prototype and 2005-09-12 19:52:42 +00:00
strtod.3 Sort sections. 2005-01-20 09:17:07 +00:00
strtoimax.c Whitespace/style tweaking of prev. commit. 2005-01-21 13:31:02 +00:00
strtol.3 o .Xr strtonum(3). 2006-05-20 21:11:35 +00:00
strtol.c Whitespace/style tweaking of prev. commit. 2005-01-21 13:31:02 +00:00
strtoll.c Whitespace/style tweaking of prev. commit. 2005-01-21 13:31:02 +00:00
strtonum.3 Add a non-optional newline after ".Bx". 2006-03-15 14:45:45 +00:00
strtonum.c POSIXed strtoll() (and ours one too) can set errno to EINVAL, so check 2006-03-14 19:53:03 +00:00
strtoq.c
strtoul.3 o .Xr strtonum(3). 2006-05-20 21:11:35 +00:00
strtoul.c Whitespace/style tweaking of prev. commit. 2005-01-21 13:31:02 +00:00
strtoull.c Whitespace/style tweaking of prev. commit. 2005-01-21 13:31:02 +00:00
strtoumax.c Whitespace/style tweaking of prev. commit. 2005-01-21 13:31:02 +00:00
strtouq.c
Symbol.map Add malloc_usable_size(3). 2006-03-28 22:16:04 +00:00
system.3
system.c
tdelete.c
tfind.c
tsearch.3 twalk() expects an `action' function not a comparison function. 2006-06-23 13:36:33 +00:00
tsearch.c
twalk.c