2008-12-01 Hans Boehm <Hans.Boehm@hp.com>
authorhboehm <hboehm>
Tue, 2 Dec 2008 00:37:17 +0000 (00:37 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:44 +0000 (21:06 +0400)
* reclaim.c: (GC_reclaim_block): Scan even nearly full blocks
if we are checking for leaks.

ChangeLog
reclaim.c

index e6281da..1aef3bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2008-12-01  Hans Boehm <Hans.Boehm@hp.com>
+       * reclaim.c: (GC_reclaim_block): Scan even nearly full blocks
+       if we are checking for leaks.
+
 2008-11-12  Hans Boehm <Hans.Boehm@hp.com> (Really mostly Ivan Maidansky)
        * win32_threads.c: Remove mark lock spinning.
        * win32_threads.c, pthread_support.c: Update GC_unlocked_count,
index b77170b..30e97de 100644 (file)
--- a/reclaim.c
+++ b/reclaim.c
@@ -309,7 +309,7 @@ STATIC void GC_reclaim_block(struct hblk *hbp, word report_if_found)
         } else if (empty) {
           GC_bytes_found += HBLKSIZE;
           GC_freehblk(hbp);
-        } else if (TRUE != GC_block_nearly_full(hhdr)){
+        } else if (GC_find_leak || !GC_block_nearly_full(hhdr)){
           /* group of smaller objects, enqueue the real work */
           rlh = &(ok -> ok_reclaim_list[BYTES_TO_GRANULES(sz)]);
           hhdr -> hb_next = *rlh;