From: Bryce McKinlay Date: Thu, 27 May 2004 13:05:34 +0000 (+0000) Subject: decl.c (struct binding_level): Add GTY marker. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=062583ea1ced97a69fd5df986dada75c33c940d8;p=gcc.git 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 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index a51d4a17517..b3a951b1d6c 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,12 @@ +2004-05-26 Bryce McKinlay + + * 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 * lex.c (java_new_lexer): Set 'encoding'. diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 7a36e54ffb9..632f0c8bc35 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