Merge branch 'master' into add-long-weakref
authorIvan Maidanski <ivmai@mail.ru>
Sun, 9 Dec 2012 18:41:54 +0000 (22:41 +0400)
committerIvan Maidanski <ivmai@mail.ru>
Sun, 9 Dec 2012 18:41:54 +0000 (22:41 +0400)
Conflicts:
finalize.c

1  2 
finalize.c
include/gc.h
tests/test.c

diff --cc finalize.c
@@@ -1082,32 -959,18 +1082,32 @@@ GC_INNER void GC_notify_or_invoke_final
  }
  
  #ifndef SMALL_CONFIG
 +# ifndef GC_LONG_REFS_NOT_NEEDED
 +#   define IF_LONG_REFS_PRESENT_ELSE(x,y) (x)
 +# else
 +#   define IF_LONG_REFS_PRESENT_ELSE(x,y) (y)
 +# endif
 +
    GC_INNER void GC_print_finalization_stats(void)
    {
 -    struct finalizable_object *fo = GC_finalize_now;
 +    struct finalizable_object *fo;
      unsigned long ready = 0;
  
-     GC_log_printf("%lu finalization entries;"
-                   " %lu/%lu short/long disappearing links alive\n",
-                   (unsigned long)GC_fo_entries,
-                   (unsigned long)GC_dl_hashtbl.entries,
-                   (unsigned long)IF_LONG_REFS_PRESENT_ELSE(
 -    GC_stats_log_printf(
 -        "%lu finalization table entries; %lu disappearing links alive\n",
 -        (unsigned long)GC_fo_entries, (unsigned long)GC_dl_entries);
 -    for (; 0 != fo; fo = fo_next(fo)) ++ready;
 -    GC_stats_log_printf("%lu objects are eligible for immediate finalization;"
 -                        " %ld links cleared\n",
 -                        ready, (long)GC_old_dl_entries - (long)GC_dl_entries);
++    GC_stats_log_printf("%lu finalization entries;"
++                        " %lu/%lu short/long disappearing links alive\n",
++                        (unsigned long)GC_fo_entries,
++                        (unsigned long)GC_dl_hashtbl.entries,
++                        (unsigned long)IF_LONG_REFS_PRESENT_ELSE(
 +                                                GC_ll_hashtbl.entries, 0));
 +
 +    for (fo = GC_finalize_now; 0 != fo; fo = fo_next(fo))
 +      ++ready;
-     GC_log_printf("%lu finalization-ready objects;"
-                   " %ld/%ld short/long links cleared\n",
-                   ready,
-                   (long)GC_old_dl_entries - (long)GC_dl_hashtbl.entries,
-                   (long)IF_LONG_REFS_PRESENT_ELSE(
++    GC_stats_log_printf("%lu finalization-ready objects;"
++                        " %ld/%ld short/long links cleared\n",
++                        ready,
++                        (long)GC_old_dl_entries - (long)GC_dl_hashtbl.entries,
++                        (long)IF_LONG_REFS_PRESENT_ELSE(
 +                              GC_old_ll_entries - GC_ll_hashtbl.entries, 0));
    }
  #endif /* !SMALL_CONFIG */
  
diff --cc include/gc.h
Simple merge
diff --cc tests/test.c
Simple merge