diff options
author | Bryce McKinlay <mckinlay@redhat.com> | 2004-05-27 13:05:34 +0000 |
---|---|---|
committer | Bryce McKinlay <bryce@gcc.gnu.org> | 2004-05-27 14:05:34 +0100 |
commit | 062583ea1ced97a69fd5df986dada75c33c940d8 (patch) | |
tree | c1dd751dcb0f5da3c0e9e7f082fa77ff44a2560f /gcc/java/decl.c | |
parent | 08fb03fdf38f9055a55007ab4782561ba48f1b04 (diff) | |
download | gcc-062583ea1ced97a69fd5df986dada75c33c940d8.zip gcc-062583ea1ced97a69fd5df986dada75c33c940d8.tar.gz gcc-062583ea1ced97a69fd5df986dada75c33c940d8.tar.bz2 |
decl.c (struct binding_level): Add GTY marker.
* decl.c (struct binding_level): Add GTY marker. Compile
binding_depth unconditionally.
(current_binding_level, free_binding_level, global_binding_level):
Likewise.
(clear_binding_level): Unconditionally set binding_depth.
(make_binding_level): Use ggc_alloc_cleared, not xmalloc.
From-SVN: r82323
Diffstat (limited to 'gcc/java/decl.c')
-rw-r--r-- | gcc/java/decl.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 7a36e54..632f0c8 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -281,7 +281,7 @@ find_stack_slot (int index, tree type) type, -1); } -struct binding_level +struct binding_level GTY(()) { /* A chain of _DECL nodes for all variables, constants, functions, * and typedef types. These are in the reverse of the order supplied. @@ -314,27 +314,25 @@ struct binding_level /* The statements in this binding level. */ tree stmts; -#if defined(DEBUG_JAVA_BINDING_LEVELS) - /* Binding depth at which this level began. */ + /* Binding depth at which this level began. Used only for debugging. */ unsigned binding_depth; -#endif /* defined(DEBUG_JAVA_BINDING_LEVELS) */ }; #define NULL_BINDING_LEVEL (struct binding_level *) NULL /* The binding level currently in effect. */ -static struct binding_level *current_binding_level; +static GTY(()) struct binding_level *current_binding_level; /* A chain of binding_level structures awaiting reuse. */ -static struct binding_level *free_binding_level; +static GTY(()) struct binding_level *free_binding_level; /* The outermost binding level, for names of file scope. This is created when the compiler is started and exists through the entire run. */ -static struct binding_level *global_binding_level; +static GTY(()) struct binding_level *global_binding_level; /* A PC value bigger than any PC value we may ever may encounter. */ @@ -344,11 +342,7 @@ static struct binding_level *global_binding_level; static const struct binding_level clear_binding_level = {NULL_TREE, NULL_TREE, NULL_TREE, NULL_TREE, - NULL_BINDING_LEVEL, LARGEST_PC, 0, NULL, -#if defined(DEBUG_JAVA_BINDING_LEVELS) - 0, -#endif /* defined(DEBUG_JAVA_BINDING_LEVELS) */ -}; + NULL_BINDING_LEVEL, LARGEST_PC, 0, NULL_TREE, 0}; #if 0 /* A list (chain of TREE_LIST nodes) of all LABEL_DECLs in the function @@ -1200,7 +1194,7 @@ static struct binding_level * make_binding_level (void) { /* NOSTRICT */ - return xmalloc (sizeof (struct binding_level)); + return ggc_alloc_cleared (sizeof (struct binding_level)); } void |