aboutsummaryrefslogtreecommitdiff
path: root/gcc/ggc-common.c
diff options
context:
space:
mode:
authorTrevor Saunders <tsaunders@mozilla.com>2014-11-20 15:10:11 +0000
committerTrevor Saunders <tbsaunde@gcc.gnu.org>2014-11-20 15:10:11 +0000
commitaebf76a2d6de989fe3e8c88aa047e4cfbd1e340e (patch)
treefa770de679e7f22bf1d98fb9ad84e84a0d60cfa0 /gcc/ggc-common.c
parent77486f4480db2a2365e08a08c223655c7335aab4 (diff)
downloadgcc-aebf76a2d6de989fe3e8c88aa047e4cfbd1e340e.zip
gcc-aebf76a2d6de989fe3e8c88aa047e4cfbd1e340e.tar.gz
gcc-aebf76a2d6de989fe3e8c88aa047e4cfbd1e340e.tar.bz2
implement a replacement for if_marked
gcc/ChangeLog: 2014-11-20 Trevor Saunders <tsaunders@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. From-SVN: r217866
Diffstat (limited to 'gcc/ggc-common.c')
-rw-r--r--gcc/ggc-common.c2
1 files changed, 2 insertions, 0 deletions
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);