On Sunday 13 July 2008 17:55:59 [EMAIL PROTECTED] wrote: > Modified: > branches/gsoc_pdd09/src/gc/gc_it.c > > Log: > [gsoc_pdd09] Stop sweeping const_PMC pools for now (causes weird error). > Added a note about this. > > Modified: branches/gsoc_pdd09/src/gc/gc_it.c > =========================================================================== >=== --- branches/gsoc_pdd09/src/gc/gc_it.c (original) > +++ branches/gsoc_pdd09/src/gc/gc_it.c Sun Jul 13 17:55:58 2008 > @@ -416,7 +416,11 @@ > Gc_it_data * const gc_priv_data = (Gc_it_data > *)arena_base->gc_private; > > gc_it_sweep_PMC_arenas(interp, gc_priv_data, arena_base->pmc_pool); > - gc_it_sweep_PMC_arenas(interp, gc_priv_data, > arena_base->constant_pmc_pool); + > + /* I don't know if I should be sweeping the constant PMC pool, because > + I'm not certain that they are ever properly marked. I'm going to > not + do that here, but I will include these in my finalization > routine. */ + /* gc_it_sweep_PMC_arenas(interp, gc_priv_data, > arena_base->constant_pmc_pool); */ }
The change and comment are both correct; we don't sweep constant STRING header or PMC pools because they're constant. Everything we create from these pools we create because we don't want to sweep them (or mark them recursively) -- they need to persist until interpreter destruction. -- c