(scm_i_sweep_card): Do not increase/decrease scm_gc_running_p.
authorMarius Vollmer <mvo@zagadka.de>
Wed, 9 Mar 2005 19:17:19 +0000 (19:17 +0000)
committerMarius Vollmer <mvo@zagadka.de>
Wed, 9 Mar 2005 19:17:19 +0000 (19:17 +0000)
Sweeping can happen in parallel with allocation.

libguile/gc-card.c

index 421df62..3fe6e3c 100644 (file)
@@ -91,8 +91,6 @@ scm_i_sweep_card (scm_t_cell *  p, SCM *free_list, scm_t_heap_segment*seg)
   int offset =SCM_MAX (SCM_GC_CARD_N_HEADER_CELLS, span);
   int free_count  = 0;
 
-  ++ scm_gc_running_p;
-
   /*
     I tried something fancy with shifting by one bit every word from
     the bitvec in turn, but it wasn't any faster, but quite a bit
@@ -263,7 +261,6 @@ scm_i_sweep_card (scm_t_cell *  p, SCM *free_list, scm_t_heap_segment*seg)
       free_count ++;
     }
 
-  --scm_gc_running_p;
   return free_count;
 }
 #undef FUNC_NAME