summaryrefslogtreecommitdiff
path: root/gcc/ggc.h
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-02 18:32:49 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2004-09-02 18:32:49 +0000
commit0ca9a7b65f8e560b03796cc1b4e73c68dcbed563 (patch)
tree6bf7983f3f95c6b710f8803d101e0114ac581cfb /gcc/ggc.h
parentce2f7f53c69a167a5f3211613d6ccd8c80b8856d (diff)
downloadgcc-0ca9a7b65f8e560b03796cc1b4e73c68dcbed563.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86974 138bc75d-0d04-0410-961f-82ee72b054a4
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 13ac2c5c5c5..bdaba2687c8 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);