* ggc-page.c (poison_pages): Don't be overzealous.
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 1999 06:12:31 +0000 (06:12 +0000)
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 1999 06:12:31 +0000 (06:12 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30209 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/ggc-page.c

index b67a024..cf97fbf 100644 (file)
@@ -1,3 +1,7 @@
+Tue Oct 26 23:15:03 1999  Mark Mitchell  <mark@codesourcery.com>
+
+       * ggc-page.c (poison_pages): Don't be overzealous.
+
 Tue Oct 26 23:29:18 1999  Jeffrey A Law  (law@cygnus.com)
 
        * c-typeck.c (build_function_call): Check that the built-in
index 54f762f..f034a4f 100644 (file)
@@ -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;