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
This commit is contained in:
Bryce McKinlay 2004-05-27 13:05:34 +00:00 committed by Bryce McKinlay
parent 08fb03fdf3
commit 062583ea1c
2 changed files with 16 additions and 13 deletions

View file

@ -1,3 +1,12 @@
2004-05-26 Bryce McKinlay <mckinlay@redhat.com>
* 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.
2004-05-26 Bryce McKinlay <mckinlay@redhat.com>
* lex.c (java_new_lexer): Set 'encoding'.

View file

@ -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