]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* ggc-page.c (poison_pages): Don't be overzealous.
authorMark Mitchell <mark@codesourcery.com>
Wed, 27 Oct 1999 06:12:31 +0000 (06:12 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Wed, 27 Oct 1999 06:12:31 +0000 (06:12 +0000)
From-SVN: r30209

gcc/ChangeLog
gcc/ggc-page.c

index b67a02487d0e7bbec8da1cd04deb1cc31b625a11..cf97fbf3cfb9e33ba7d2cb2dfe94438288f6d9c0 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 54f762f9533c5de9eaa26473e50cfaac06f03a94..f034a4fb47ff03d4cc5d9c37de832b99011e01ce 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;