On Thu, Nov 13, 2014 at 05:27:13PM -0700, Jeff Law wrote:
> On 11/12/14 22:55, tsaund...@mozilla.com wrote:
> >From: Trevor Saunders <tsaund...@mozilla.com>
> >
> >Hi,
> >
> >  This adds a gty cache attribute that calls user code after marking and 
> > before
> >sweeping allowing user code to mark more objects or clear caches as
> >appropriate.  User code for hash_table is set up to work similarly to 
> >if_marked
> >for htab.
> >
> >bootstrapped + regtested x86_64-unknown-linux-gnu, ok?
> >
> >Trev
> >
> >
> >gcc/ChangeLog:
> >
> >2014-11-13  Trevor Saunders  <tsaund...@mozilla.com>
> >
> >     * doc/gty.texi: Document the new cache gty attribute.
> >     * gengtype.c (finish_cache_funcs): New function.
> >     (write_roots): Call gt_clear_cache on global variables with the cache
> >     gty attribute.
> >     * ggc-common.c (ggc_mark_roots): Call gt_clear_caches.
> >     * ggc.h (gt_clear_caches): New declaration.
> >     * hash-table.h (struct ggc_cache_hasher): New hasher for caches in gc
> >     memory.
> >     (gt_cleare_cache): New function.
> >     * emit-rtl.c, rtl.h, tree.c: Use hash_table instead of htab.
> Presumably the goal here is continuing to move to the new style hash tables.
> So you need to support something like if_marked in the new sytle hash
> tables.  There really isn't any significant functional changes here, right?

to how the compiler it self work no, and the new mechanism is pretty
similar to if_marked.

> 
> 
> >diff --git a/gcc/gengtype.c b/gcc/gengtype.c
> >index fac83ee..38c173f 100644
> >--- a/gcc/gengtype.c
> >+++ b/gcc/gengtype.c
> >@@ -4482,6 +4482,58 @@ finish_root_table (struct flist *flp, const char 
> >*pfx, const char *lastname,
> >    }
> >  }
> >
> >+static void
> >+finish_cache_funcs (flist *flp)
> Function comment missing.

oops

> 
> >+
> >+  /* clear out entries if there about to be gc'd.  */
> s/there/they are/ ?
> s/clear/Clear/

I hope one day I'll write reasonable english ;-)

thanks!

Trev

> 
> 
> OK with the above nits fixed.
> 
> jeff
> 

Reply via email to