gcc/gcc ChangeLog Makefile.in c-common.h c-obj ...
geoffk@gcc.gnu.org
geoffk@gcc.gnu.org
Fri Oct 25 23:12:00 GMT 2002
CVSROOT: /cvs/gcc
Module name: gcc
Branch: pch-branch
Changes by: geoffk@gcc.gnu.org 2002-10-25 23:12:50
Modified files:
gcc : ChangeLog Makefile.in c-common.h
c-objc-common.c c-parse.in c-pch.c emit-rtl.c
fold-const.c gengtype.c ggc-common.c ggc-page.c
ggc.h stringpool.c tree.c
gcc/cp : ChangeLog lex.c
Log message:
Index: ChangeLog
2002-10-23 Geoffrey Keating <geoffk@apple.com>
* gengtype.c (struct write_types_data): New.
(struct walk_type_data): Make `cookie' const; add extra
prev_val item; add `orig_s' field.
(walk_type): Update prev_val[3].
(write_types_process_field): New.
(write_func_for_structure): Take write_types_data structure.
(write_types): New.
(ggc_wtd): New.
(pch_wtd): New.
(write_types_local_process_field): New.
(gc_mark_process_field): Delete.
(write_local_func_for_structure): New.
(gc_mark_func_name): Delete.
(write_gc_types): Delete.
(write_local): New.
(finish_root_table): Don't include 'ggc_' in PFX.
(write_root): Rename from write_root. Fill pchw field of structures.
(write_array): New.
(write_roots): Rename from write_gc_roots. Split out to write_array.
Update to changes to other routines. Write gt_pch_cache_rtab table.
(main): Write PCH walking routines.
* ggc-common.c: Include toplev.h, sys/mman.h.
(ggc_mark_roots): For cache hashtables, also mark the hash table
and the array of entries.
(saving_htab): New.
(struct ptr_data): New.
(POINTER_HASH): New.
(gt_pch_note_object): New.
(saving_htab_hash): New.
(saving_htab_eq): New.
(struct traversal_state): New.
(call_count): New.
(call_alloc): New.
(compare_ptr_data): New.
(relocate_ptrs): New.
(write_pch_globals): New.
(struct mmap_info): New.
(gt_pch_save): New.
(gt_pch_restore): New.
* ggc-page.c (ROUND_UP_VALUE): New.
(ROUND_UP): New.
(struct page_entry): Add field `pch_page'.
(init_ggc): Use ROUND_UP.
(struct ggc_pch_data): Declare.
(init_ggc_pch): New.
(ggc_pch_count_object): New.
(ggc_pch_total_size): New.
(ggc_pch_this_base): New.
(ggc_pch_alloc_object): New.
(ggc_pch_prepare_write): New.
(ggc_pch_write_object): New.
(ggc_pch_finish): New.
(ggc_pch_read): New.
* ggc.h (gt_pointer_operator): New.
(gt_note_pointers): New.
(gt_pch_note_object): New prototype.
(gt_pointer_walker): New.
(struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
(LAST_GGC_ROOT_TAB): Update.
(gt_pch_cache_rtab): Declare.
(gt_pch_scalar_rtab): Declare.
(struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
(LAST_GGC_CACHE_TAB): Update.
(gt_pch_save_stringpool): Declare.
(gt_pch_restore_stringpool): Declare.
(gt_pch_p_S): Declare.
(gt_pch_n_S): Declare.
(struct ggc_pch_data): Forward-declare.
(init_ggc_pch): Declare.
(ggc_pch_count_object): Declare.
(ggc_pch_total_size): Declare.
(ggc_pch_this_base): Declare.
(ggc_pch_alloc_object): Declare.
(ggc_pch_prepare_write): Declare.
(ggc_pch_write_object): Declare.
(ggc_pch_finish): Declare.
(ggc_pch_read): Declare.
(gt_pch_save): Declare.
(gt_pch_restore): Declare.
* fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
* emit-rtl.c (init_emit_once): Allocate const_int_htab,
const_double_htab, mem_attrs_htab using GGC.
* c-pch.c: Include ggc.h.
(pch_init): Allow reading PCH file back.
(c_common_write_pch): Call gt_pch_save.
(c_common_read_pch): Call gt_pch_restore.
* c-parse.in (init_reswords): Delete now-untrue comment.
Allocate ridpointers using GGC.
* c-objc-common.c (c_objc_common_finish_file): Write PCH before
calling expand_deferred_fns.
* c-common.h (ridpointers): Mark for GTY machinery.
* Makefile.in (stringpool.o): Update dependencies.
(c-pch.o): Update dependencies.
(ggc-common.o): Update dependencies.
* stringpool.c: Include gt-stringpool.h.
(gt_pch_p_S): New.
(gt_pch_n_S): New.
(struct string_pool_data): New.
(spd): New.
(gt_pch_save_stringpool): New.
(gt_pch_restore_stringpool): New.
* tree.c (init_ttree): Make type_hash_table allocated using GC.
Index: cp/ChangeLog
2002-10-25 Geoffrey Keating <geoffk@apple.com>
* lex.c (init_reswords): Delete now-untrue comment.
Allocate ridpointers using GGC.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.12690.2.74&r2=1.12690.2.75
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/Makefile.in.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.822.2.34&r2=1.822.2.35
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-common.h.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.112.4.18&r2=1.112.4.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-objc-common.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.2.6.10&r2=1.2.6.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-parse.in.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.125.4.10&r2=1.125.4.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-pch.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.1.2.3&r2=1.1.2.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/emit-rtl.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.242.4.15&r2=1.242.4.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fold-const.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.181.4.11&r2=1.181.4.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gengtype.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.1.2.36&r2=1.1.2.37
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ggc-common.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.46.4.23&r2=1.46.4.24
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ggc-page.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.48.4.3&r2=1.48.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ggc.h.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.39.6.22&r2=1.39.6.23
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/stringpool.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.14.6.3&r2=1.14.6.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.230.2.15&r2=1.230.2.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.2639.2.28&r2=1.2639.2.29
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/lex.c.diff?cvsroot=gcc&only_with_tag=pch-branch&r1=1.262.2.8&r2=1.262.2.9
More information about the Gcc-cvs
mailing list