Thoughts about GC root sets

2006-06-07 Thread Laurynas Biveinis
Daniel, first of all, how would you prefer to communicate on general GCC issues? Is it OK to send e-mail to you and to gcc mailing list, or should I send such mails to gcc mailing list only? Some of the GCC roots live on the heap memory, e.g. ident_table. These are not found by Boehm's GC by

Re: Thoughts about GC root sets

2006-06-07 Thread Daniel Berlin
Laurynas Biveinis wrote: Daniel, first of all, how would you prefer to communicate on general GCC issues? Is it OK to send e-mail to you and to gcc mailing list, or should I send such mails to gcc mailing list only? Copying me is fine for me. Some of the GCC roots live on the heap memory,

Re: Thoughts about GC root sets

2006-06-07 Thread Paolo Bonzini
Some of the GCC roots live on the heap memory, e.g. ident_table. These are not found by Boehm's GC by default. I've started fixing such places by registering these additional roots. But it got me thinking: how do the old GCC garbage collectors know about those roots? I do not see any root

Re: Thoughts about GC root sets

2006-06-07 Thread Laurynas Biveinis
Hi, There is a root list, generated by gengtype from parsing the files looking for those GTY markers. So, if you look at ggc_mark_roots, you can see the walker that is walking the root table. If you look in your *build* directory, and grep for ggc_root_tab, you will see where the roots are.

Re: Thoughts about GC root sets

2006-06-07 Thread Daniel Berlin
Laurynas Biveinis wrote: Hi, There is a root list, generated by gengtype from parsing the files looking for those GTY markers. So, if you look at ggc_mark_roots, you can see the walker that is walking the root table. If you look in your *build* directory, and grep for ggc_root_tab, you

Re: Thoughts about GC root sets

2006-06-07 Thread Daniel Jacobowitz
On Wed, Jun 07, 2006 at 06:57:45PM +0200, Laurynas Biveinis wrote: As far as I can understand, current GGC-ors do not simply register them as a additional roots - they walk them all the way down by the pointers and mark stuff as required during collection. Now, if I add the roots to Boehm's

Re: Thoughts about GC root sets

2006-06-07 Thread Laurynas Biveinis
Hi, Yet another question: there are several root lists: gt_ggc_rtab, gt_ggc_deletable_rtab, gt_pch_cache_rtab, gt_pch_scalar_rtb. Now what is what? I see that gt_ggc_rtab is an ordinary list. The deletable one seems to have things that can be always collected? The names of the last two ones

Re: Thoughts about GC root sets

2006-06-07 Thread Daniel Berlin
Laurynas Biveinis wrote: Hi, Yet another question: there are several root lists: gt_ggc_rtab, gt_ggc_deletable_rtab, gt_pch_cache_rtab, gt_pch_scalar_rtb. Now what is what? I see that gt_ggc_rtab is an ordinary list. The deletable one seems to have things that can be always collected?