Commit 062583ea by Bryce McKinlay Committed by Bryce McKinlay

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
parent 08fb03fd
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'.
(java_read_char): Improve error message for unrecognized characters.
* lex.h (struct java_lexer): New field 'encoding'.
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment