(malloc_consolidate): Don't use get_fast_max to determine highest fast bin
authordrepper <drepper>
Fri, 13 Oct 2006 20:52:01 +0000 (20:52 +0000)
committerdrepper <drepper>
Fri, 13 Oct 2006 20:52:01 +0000 (20:52 +0000)
to consolidate, always look into all of them.

malloc/malloc.c

index e4b693c..38ceb1e 100644 (file)
@@ -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) {