From 5461f11e8011d5e7e8559b12e579c157329b1770 Mon Sep 17 00:00:00 2001 From: rtoy <rtoy> Date: Thu, 28 Apr 2005 20:25:48 +0000 Subject: [PATCH] Should close up any open alloc regions before purification. This bug was mentioned by Dan Barlow on #lisp. --- lisp/purify.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/purify.c b/lisp/purify.c index 8288de8c6..753b6ec04 100644 --- a/lisp/purify.c +++ b/lisp/purify.c @@ -10,7 +10,7 @@ and x86/GENCGC stack scavenging, by Douglas Crosher, 1996, 1997, 1998. - $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/purify.c,v 1.29 2004/08/04 18:37:25 cwang Exp $ + $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/purify.c,v 1.30 2005/04/28 20:25:48 rtoy Exp $ */ #include <stdio.h> @@ -1483,6 +1483,13 @@ int purify(lispobj static_roots, lispobj read_only_roots) fflush(stdout); #endif +#ifdef GENCGC + /* Flush the current_region updating the tables. */ + gc_alloc_update_page_tables(0,&boxed_region); + gc_alloc_update_page_tables(1,&unboxed_region); +#endif + +#if if (fixnum_value(SymbolValue(FREE_INTERRUPT_CONTEXT_INDEX)) != 0) { printf(" Ack! Can't purify interrupt contexts. "); fflush(stdout); -- GitLab