summaryrefslogtreecommitdiff
path: root/gcc/ggc.h
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-11 02:11:21 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-11 02:11:21 +0000
commite3691812c0f20274df52d34b0621d77309cffd75 (patch)
tree5036f98758c484314588bc1a1893a4651f5f4190 /gcc/ggc.h
parent8b16d5f984981430b5b95d6886bd411c1989ecfc (diff)
downloadgcc-e3691812c0f20274df52d34b0621d77309cffd75.tar.gz
* ggc.h (ggc_push_context): Fix comment.
(ggc_pop_context): Likewise. (mark_string_if_gcable): Likewise. * ggc-common.c (ggc_mark_rtx_children): Use ggc_mark_string_if_gcable. * ggc-page.c (ggc_lookup_page_table): New function. (ggc_allocated_p): Likewise. (mark_obj): Fix formatting. (ggc_mark_string_if_gcable): New function. * ggc-simple.c (ggc_allocated_strings): New variable. (ggc_strings_used): Likewise. (ggc_compare_addresses): New function. (ggc_pop_context): Pop the `any' memory too. (ggc_mark_string_if_gcable): New function. (ggc_collect): Initialize and tear down ggc_allocated_strings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29897 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ggc.h')
-rw-r--r--gcc/ggc.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/ggc.h b/gcc/ggc.h
index 49a8df00749..92b29f1f0e7 100644
--- a/gcc/ggc.h
+++ b/gcc/ggc.h
@@ -66,6 +66,10 @@ extern void ggc_mark_roots PROTO((void));
extern void ggc_mark_rtx_children PROTO ((struct rtx_def *));
extern void ggc_mark_tree_children PROTO ((union tree_node *));
+/* Mark the string, but only if it was allocated in collectable
+ memory. */
+extern void ggc_mark_string_if_gcable PROTO ((char *));
+
#define ggc_mark_rtx(RTX_EXPR) \
do { \
rtx r__ = (RTX_EXPR); \
@@ -87,11 +91,11 @@ extern void init_ggc PROTO ((void));
/* Start a new GGC context. Memory allocated in previous contexts
will not be collected while the new context is active. */
-extern void ggc_pop_context PROTO ((void));
+extern void ggc_push_context PROTO ((void));
/* Finish a GC context. Any uncollected memory in the new context
will be merged with the old context. */
-extern void ggc_push_context PROTO ((void));
+extern void ggc_pop_context PROTO ((void));
/* Allocation. */
struct rtx_def *ggc_alloc_rtx PROTO ((int nslots));
@@ -113,7 +117,6 @@ int ggc_set_mark_rtx PROTO ((struct rtx_def *));
int ggc_set_mark_rtvec PROTO ((struct rtvec_def *));
int ggc_set_mark_tree PROTO ((union tree_node *));
-
/* Callbacks to the languages. */
/* This is the language's opportunity to mark nodes held through