aboutsummaryrefslogtreecommitdiff
path: root/gcc/ggc.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2004-09-02 20:32:49 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2004-09-02 18:32:49 +0000
commit0772402279c0161fe41784911b52c77e12803c42 (patch)
tree6bf7983f3f95c6b710f8803d101e0114ac581cfb /gcc/ggc.h
parent35dc4c015a0b6e0558a892bbbcca2cc73e435f61 (diff)
downloadgcc-0772402279c0161fe41784911b52c77e12803c42.zip
gcc-0772402279c0161fe41784911b52c77e12803c42.tar.gz
gcc-0772402279c0161fe41784911b52c77e12803c42.tar.bz2
gimplify.c (gimplify_compound_lval): Move "stack" varray out of GGC.
* gimplify.c (gimplify_compound_lval): Move "stack" varray out of GGC. * ggc-page.c: include tree-flow.h. (extra_order_size_table): Add stmt_ann_d. (STAT_LABEL): Rename from .... (LABEL): ... this one. * Makefile.in (ggc-page.o): Add dependency. * ggc-common.c (ggc_force_collect): New global variable. (loc_description): Add fields "freed", "collected" (ptr_hash): New static hash (ptr_hash_entry): New structure. (hash_ptr,eq_ptr,ggc_prune_ptr): New static functions. (ggc_record_overhead): Take ptr argument, record it (ggc_prune_overhead_list, ggc_free_overhead): New functions. (cmp_statistics): Imrove sorting. (dump_ggc_loc_statistics): Output newly collected statistics * ggc-page.c (ggc_alloc): Update call of ggc_record_overhead (ggc_free): Call ggc_free_overhead. (ggc_collect): Force collection when asked to be forced. (ggc_collect): Call ggc_prune_overhead_list. * ggc.h (ggc_force_collect): Declare (ggc_record_overhead): Update prototype. (ggc_free_overhead, ggc_prune_overhead_list): Declare. From-SVN: r86974
Diffstat (limited to 'gcc/ggc.h')
-rw-r--r--gcc/ggc.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ggc.h b/gcc/ggc.h
index 13ac2c5..bdaba26 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -209,6 +209,8 @@ extern struct alloc_zone *garbage_zone;
extern struct alloc_zone *rtl_zone;
/* For regular tree allocations. */
extern struct alloc_zone *tree_zone;
+/* When set, ggc_collect will do collection. */
+extern bool ggc_force_collect;
/* The internal primitive. */
extern void *ggc_alloc_stat (size_t MEM_STAT_DECL);
@@ -233,7 +235,9 @@ extern void *ggc_calloc (size_t, size_t);
/* Free a block. To be used when known for certain it's not reachable. */
extern void ggc_free (void *);
-extern void ggc_record_overhead (size_t, size_t MEM_STAT_DECL);
+extern void ggc_record_overhead (size_t, size_t, void * MEM_STAT_DECL);
+extern void ggc_free_overhead (void *);
+extern void ggc_prune_overhead_list (void);
extern void dump_ggc_loc_statistics (void);