diff options
author | Mark Mitchell <mark@codesourcery.com> | 1999-09-07 15:20:58 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 1999-09-07 15:20:58 +0000 |
commit | 21cd906efe356578356ec1c36841629951681b44 (patch) | |
tree | ebef7e81648f072e4f956a33a801979f7a35c649 /gcc/function.h | |
parent | 498ffa68acb51d998126df401a801b8cdf55f152 (diff) | |
download | gcc-21cd906efe356578356ec1c36841629951681b44.zip gcc-21cd906efe356578356ec1c36841629951681b44.tar.gz gcc-21cd906efe356578356ec1c36841629951681b44.tar.bz2 |
emit-rtl.c (free_emit_status): Take decl as a parameter.
* emit-rtl.c (free_emit_status): Take decl as a parameter.
(init_emit_once): Add more GC roots.
* except.c (mark_func_eh_entry): New function.
(mark_eh_node): Mark false_label and rethrow_label.
(init_eh): Add more GC roots.
* function.c (free_after_compilation): Take decl as a paramter.
Call free_stmt_status.
(mark_function_state): Don't assume x_parm_reg_stack_loc is
non-NULL.
* function.h (free_after_compilation): Change prototype.
(free_varasm_status): Likewise.
(free_emit_status): Likewise.
(free_stmt_status): New function.
* ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
Remove, replacing with ...
(ggc_status): New structure.
(ggc_chain): New variable.
(init_gcc): Define.
(ggc_push_context): New function.
(ggc_pop_context): Likewise.
(ggc_alloc_rtx): Adjust for use of ggc_chain.
(ggc_alloc_rtvec): Likewise.
(ggc_alloc_tree): Likewise.
(ggc_alloc_string): Likewise.
(ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
(ggc_mark_tree): Give language-dependent code a chance to mark
`x' nodes.
(ggc_mark_tree_varray): Handle empty arrays.
(ggc_collect): Adjust for use of ggc_chain. Clear
bytes_alloced_since_last_gc.
* ggc.h (ggc_pop_context): New function.
(ggc_push_context): Likewise.
* print-tree.c (print_node): Don't print obstacks when GC'ing.
* stmt.c (free_stmt_status): New function.
(init_stmt_for_function): Clear last_expr_value.
* toplev.c (rest_of_compilation): Always call free_after_compilation.
Conditionalize call to ggc_collect.
(main): Call init_ggc.
* tree.c (push_obstacks): Do the push, even when GC'ing.
(push_obstacks_nochange): Likewise.
(pop_obstacks): Liekwise.
* varasm.c (free_varasm_status): Take decl as a parameter.
From-SVN: r29170
Diffstat (limited to 'gcc/function.h')
-rw-r--r-- | gcc/function.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/function.h b/gcc/function.h index 966b3f7..76ee362 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -549,11 +549,16 @@ extern void (*restore_lang_status) PROTO((struct function *)); extern void save_tree_status PROTO((struct function *)); extern void restore_tree_status PROTO((struct function *)); extern void restore_emit_status PROTO((struct function *)); -extern void free_after_compilation PROTO((struct function *)); +extern void free_after_compilation PROTO((struct function *, + tree)); extern void init_varasm_status PROTO((struct function *)); -extern void free_varasm_status PROTO((struct function *)); -extern void free_emit_status PROTO((struct function *)); +extern void free_varasm_status PROTO((struct function *, + tree)); +extern void free_emit_status PROTO((struct function *, + tree)); +extern void free_stmt_status PROTO((struct function *, + tree)); extern rtx get_first_block_beg PROTO((void)); extern void init_virtual_regs PROTO((struct emit_status *)); |