This is the mail archive of the egcs-cvs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
CVSROOT: /egcs/carton/cvsfiles Module name: egcs Changes by: rth@egcs.cygnus.com 99/03/27 19:40:18 Modified files: gcc : Tag: egcs_gc_branch ChangeLog c-decl.c emit-rtl.c function.c function.h gengenrtl.c ggc-simple.c ggc.h integrate.c output.h profile.c rtl.h varasm.c Log message: Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> * c-decl.c (init_decl_processing): Don't mark global_binding_level. * emit-rtl.c (gen_rtx_CONST_DOUBLE): New function. (gen_rtx): Special case CONST_DOUBLEs. * gengenrtl.c (special_rtx): Special case CONST_DOUBLEs. * rtl.h (gen_rtx_CONST_DOUBLE): Declare. * ggc-simple.c (ggc_mark_rtx): For CONST_DOUBLEs, walk CONST_DOUBLE_CHAIN. * function.h (struct function): Add new element VARASM. Delete the varasm-specific fields. (save_varasm_status): Delete declaration. (restore_varasm_status): Delete declaration. (init_varasm_status): Declare. (init_const_rtx_hash_table): Declare here. * output.h (init_const_rtx_hash_table): Don't declare here. * function.c (push_function_context_to): Don't call save_varasm_status. (pop_function_context_from): Don't call restore_varasm_status. (prepare_function_start): Call init_varasm_status instead of init_const_rtx_hash_table. (mark_function_chain): Call mark_varasm_state instead of marking the relevant bits here. * ggc.h (mark_pool_constant): Don't declare. (mark_varasm_state): Declare. * integrate.c (output_inline_function): init_const_rtx_hash_table now takes an arg. * varasm.c (struct varasm_status): Define; move global variables into it and define accessor macros. (const_double_chain): Moved into struct varasm_status. (const_rtx_hash_table): Likewise. (const_rtx_sym_hash_table): Likewise. (first_pool): Likewise. (last_pool): Likewise. (pool_offset): Likewise. (immed_double_const): Don't touch const_double_chain outside a function. Delete obstack nonsense. Don't handle nested functions specially. (immed_real_const_1): Likewise. (clear_const_double_mem): Don't handle nested functions specially. (init_const_rtx_hash_table): Take new arg, pointer to struct function, and modify its contents. Use xmalloc not oballoc. (save_varasm_status): Delete. (restore_varasm_status): Delete. (init_varasm_status): New function. (free_varasm_status): Free memory allocated in init_const_rtx_hash_table. (mark_pool_constant): Now static. (mark_varasm_state): New function. (force_const_mem): Don't handle nested functions specially. (init_const_rtx_hash_table_once): Do nothing here. * profile.c (output_func_start_profiler): Comment out apparently nonsensical call to start_sequence.