aboutsummaryrefslogtreecommitdiff
path: root/gcc/ggc-page.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-10-27 06:12:31 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-10-27 06:12:31 +0000
commitc831fdea4be7d36270bfd160bd818250e5f4f7d6 (patch)
tree759d2fa33ebcc159d29c23cab43d30b53789711f /gcc/ggc-page.c
parent95815af9d258082b7548e23fc2595ff637a48e1a (diff)
downloadgcc-c831fdea4be7d36270bfd160bd818250e5f4f7d6.zip
gcc-c831fdea4be7d36270bfd160bd818250e5f4f7d6.tar.gz
gcc-c831fdea4be7d36270bfd160bd818250e5f4f7d6.tar.bz2
* ggc-page.c (poison_pages): Don't be overzealous.
From-SVN: r30209
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 54f762f..f034a4f 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;