diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-10-13 20:53:14 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-10-13 20:53:14 +0000 |
commit | cc7eecbfc09fb9f1c9e1aa33e8490f1ade0530b3 (patch) | |
tree | 2687e5c28506d4da77485f8a8ea9c24c1ceb19c1 /malloc/malloc.c | |
parent | dbc3d56b704c7858de411b59688efe7860dfe580 (diff) | |
download | glibc-cc7eecbfc09fb9f1c9e1aa33e8490f1ade0530b3.tar.gz glibc-cc7eecbfc09fb9f1c9e1aa33e8490f1ade0530b3.tar.xz glibc-cc7eecbfc09fb9f1c9e1aa33e8490f1ade0530b3.zip |
[BZ #3313]
* 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.
Diffstat (limited to 'malloc/malloc.c')
-rw-r--r-- | malloc/malloc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/malloc/malloc.c b/malloc/malloc.c index e4b693c342..38ceb1e909 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -4692,7 +4692,15 @@ static void malloc_consolidate(av) mstate av; 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 ())]); +#else + maxfb = &(av->fastbins[NFASTBINS]); +#endif fb = &(av->fastbins[0]); do { if ( (p = *fb) != 0) { |