From 7794221bf15ab5c067eba48c17e19172b7849638 Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Sat, 12 Aug 2006 12:26:44 +0000
Subject: [PATCH] Weak pointers should be scanned after weak tables because
 entries in the table could change the reachability of some weak pointer
 values. (Mentioned by Gabor Melis in #lisp).

---
 lisp/gencgc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/gencgc.c b/lisp/gencgc.c
index 44078e093..0378e4663 100644
--- a/lisp/gencgc.c
+++ b/lisp/gencgc.c
@@ -7,7 +7,7 @@
  *
  * Douglas Crosher, 1996, 1997, 1998, 1999.
  *
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gencgc.c,v 1.77 2006/08/11 13:10:32 rtoy Exp $
+ * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gencgc.c,v 1.78 2006/08/12 12:26:44 rtoy Exp $
  *
  */
 
@@ -5946,8 +5946,8 @@ scavenge_newspace_generation_one_scan(int generation)
 static void
 scan_weak_objects()
 {
-    scan_weak_pointers();
     scan_weak_tables();
+    scan_weak_pointers();
 
     /* Re-initialise the weak pointer and weak tables lists. */
     weak_pointers = NULL;
-- 
GitLab