* malloc/malloc.c (malloc_consolidate): Don't use get_fast_max to
	determine highest fast bin to consolidate, always look into all of
	them.
	(do_check_malloc_state): Only require for empty bins for large
	sizes in main arena.
This commit is contained in:
Ulrich Drepper 2006-10-13 20:53:14 +00:00
parent dbc3d56b70
commit cc7eecbfc0
2 changed files with 14 additions and 2 deletions

View File

@ -1,7 +1,11 @@
2006-10-13 Ulrich Drepper <drepper@redhat.com> 2006-10-13 Ulrich Drepper <drepper@redhat.com>
* malloc/malloc.c (do_check_malloc_state): Only require for empty [BZ #3313]
bins for large sizes in main arena. * malloc/malloc.c (malloc_consolidate): Don't use get_fast_max to
determine highest fast bin to consolidate, always look into all of
them.
(do_check_malloc_state): Only require for empty bins for large
sizes in main arena.
* libio/stdio.h: Add more __wur attributes. * libio/stdio.h: Add more __wur attributes.

View File

@ -4692,7 +4692,15 @@ static void malloc_consolidate(av) mstate av;
reused anyway. reused anyway.
*/ */
#if 0
/* It is wrong to limit the fast bins to search using get_max_fast
because, except for the main arena, all the others might have
blocks in the high fast bins. It's not worth it anyway, just
search all bins all the time. */
maxfb = &(av->fastbins[fastbin_index(get_max_fast ())]); maxfb = &(av->fastbins[fastbin_index(get_max_fast ())]);
#else
maxfb = &(av->fastbins[NFASTBINS]);
#endif
fb = &(av->fastbins[0]); fb = &(av->fastbins[0]);
do { do {
if ( (p = *fb) != 0) { if ( (p = *fb) != 0) {