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

Reply via email to