From aebf76a2d6de989fe3e8c88aa047e4cfbd1e340e Mon Sep 17 00:00:00 2001 From: Trevor Saunders Date: Thu, 20 Nov 2014 15:10:11 +0000 Subject: implement a replacement for if_marked gcc/ChangeLog: 2014-11-20 Trevor Saunders * 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. From-SVN: r217866 --- gcc/ggc-common.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gcc/ggc-common.c') diff --git a/gcc/ggc-common.c b/gcc/ggc-common.c index 32440b4..06f70c2f 100644 --- a/gcc/ggc-common.c +++ b/gcc/ggc-common.c @@ -162,6 +162,8 @@ ggc_mark_roots (void) for (ct = gt_ggc_cache_rtab; *ct; ct++) ggc_scan_cache_tab (*ct); + gt_clear_caches (); + FOR_EACH_VEC_ELT (extra_cache_vec, i, ctp) ggc_scan_cache_tab (ctp); -- cgit v1.1