summaryrefslogtreecommitdiff
path: root/gcc/ggc-page.c
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-27 06:12:31 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>1999-10-27 06:12:31 +0000
commit2d517b2f844df7960f4b55edb4fb55139e797442 (patch)
tree759d2fa33ebcc159d29c23cab43d30b53789711f /gcc/ggc-page.c
parent1ed94b4ddd31820681baf25ddf3c50f4ffa4964d (diff)
downloadgcc-2d517b2f844df7960f4b55edb4fb55139e797442.tar.gz
* ggc-page.c (poison_pages): Don't be overzealous.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30209 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ggc-page.c')
-rw-r--r--gcc/ggc-page.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ggc-page.c b/gcc/ggc-page.c
index 54f762f9533..f034a4fb47f 100644
--- a/gcc/ggc-page.c
+++ b/gcc/ggc-page.c
@@ -1021,6 +1021,14 @@ poison_pages ()
for (p = G.pages[order]; p != NULL; p = p->next)
{
size_t i;
+
+ if (p->context_depth != G.context_depth)
+ /* Since we don't do any collection for pages in pushed
+ contexts, there's no need to do any poisoning. And
+ besides, the IN_USE_P array isn't valid until we pop
+ contexts. */
+ continue;
+
for (i = 0; i < num_objects; i++)
{
size_t word, bit;