aboutsummaryrefslogtreecommitdiff
path: root/gcc/ggc.h
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.h
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.h')
-rw-r--r--gcc/ggc.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ggc.h b/gcc/ggc.h
index dc21520..fb8ce73 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -54,6 +54,9 @@ extern int gt_pch_note_object (void *, void *, gt_note_pointers);
function. */
extern void gt_pch_note_reorder (void *, void *, gt_handle_reorder);
+/* generated function to clear caches in gc memory. */
+extern void gt_clear_caches ();
+
/* Mark the object in the first parameter and anything it points to. */
typedef void (*gt_pointer_walker) (void *);