diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-26 20:49:22 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-10-26 20:49:22 +0000 |
commit | d3bdb6d05779709bcb0cc1d7dfda88eb3e92678f (patch) | |
tree | 7a838606794e06dbdb769851ecc6e78116eb3676 /gcc/ggc-page.c | |
parent | dea399b9ca84ed668aa3da7477dacd04e0192fa5 (diff) | |
download | gcc-d3bdb6d05779709bcb0cc1d7dfda88eb3e92678f.tar.gz |
2008-10-26 Basile Starynkevitch <basile@starynkevitch.net>
* gcc/basilys.h: added BASILYSPAR_MARKGGC.
* gcc/ggc.h: (ggc_mark_roots_extra_marking, ggc_collect_extra_marking)
new declarations.
* gcc/ggc-common.c: (ggc_mark_roots_extra_marking) Added new function.
(ggc_mark_roots) Removed. (ggc_collect) Moved function here to
wrap ggc_collect_extra_marking.
* gcc/ggc-page.c: (ggc_collect_extra_marking) replacing (ggc_collect)
which has moved in ggc-common.c file.
* gcc/ggc-zone.c: (ggc_collect_extra_marking) replacing (ggc_collect)
which has moved in ggc-common.c file. (ggc_collect_1) takes extra
marker routine & data arguments.
* gcc/melt/warmelt-first.bysl: class_ctype has new field ctype_marker
filled for ctype_value ctype_tree ctype_gimple ctype_gimpleseq
ctype_basicblock ctype_edge.
* gcc/melt/warmelt-outobj.bysl: added outpucod_marker and calling it.
* gcc/warmelt-first-0.c: regenerated.
* gcc/warmelt-macro-0.c: regenerated.
* gcc/warmelt-normal-0.c: regenerated.
* gcc/warmelt-normatch-0.c: regenerated.
* gcc/warmelt-genobj-0.c: regenerated.
* gcc/warmelt-outobj-0.c: regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@141374 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ggc-page.c')
-rw-r--r-- | gcc/ggc-page.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c index 0afe0d815dd..4c931080930 100644 --- a/gcc/ggc-page.c +++ b/gcc/ggc-page.c @@ -1904,10 +1904,11 @@ validate_free_objects (void) #define validate_free_objects() #endif -/* Top level mark-and-sweep routine. */ + +/* Top level mark-and-sweep routine with extra marker */ void -ggc_collect (void) +ggc_collect_extra_marking (gt_pointer_walker walkrout, void* walkdata) { /* Avoid frequent unnecessary work by skipping collection if the total allocations haven't expanded much since the last @@ -1938,7 +1939,7 @@ ggc_collect (void) G.context_depth_collections = ((unsigned long)1 << (G.context_depth + 1)) - 1; clear_marks (); - ggc_mark_roots (); + ggc_mark_roots_extra_marking (walkrout, walkdata); #ifdef GATHER_STATISTICS ggc_prune_overhead_list (); #endif |