APPROVE COMMIT
NOTE: This patch has been committed
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1534092779 -3600
# Sun Aug 12 17:52:59 2018 +0100
# Node ID 39f424909e0c055c65f16e855a9de8b806b04f0f
# Parent e3f754148ae1f883b101c7863e3448c813e6bc0d
Invert the order of prune_weak_lists() vs. prune_weak_hash_tables(), gc.c
src/ChangeLog addition:
2018-08-12 Aidan Kehoe <kehoea(a)parhasard.net>
* gc.c (gc_finish_mark):
Move prune_weak_lists() before prune_weak_hash_tables(), so the
latter doesn't encounter garbage hash tables.
diff -r e3f754148ae1 -r 39f424909e0c src/ChangeLog
--- a/src/ChangeLog Sun Aug 12 15:18:54 2018 +0100
+++ b/src/ChangeLog Sun Aug 12 17:52:59 2018 +0100
@@ -1,3 +1,9 @@
+2018-08-12 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * gc.c (gc_finish_mark):
+ Move prune_weak_lists() before prune_weak_hash_tables(), so the
+ latter doesn't encounter garbage hash tables.
+
2018-08-12 Aidan Kehoe <kehoea(a)parhasard.net>
Use an explicit weak list object for the weak hash tables, too.
diff -r e3f754148ae1 -r 39f424909e0c src/gc.c
--- a/src/gc.c Sun Aug 12 15:18:54 2018 +0100
+++ b/src/gc.c Sun Aug 12 17:52:59 2018 +0100
@@ -2150,8 +2150,8 @@
marked and before we do any sweeping). */
/* #### this is somewhat ad-hoc and should probably be an object
method */
+ prune_weak_lists ();
prune_weak_hash_tables ();
- prune_weak_lists ();
prune_ephemerons ();
prune_weak_boxes ();
}
--
‘As I sat looking up at the Guinness ad, I could never figure out /
How your man stayed up on the surfboard after forty pints of stout’
(C. Moore)
Show replies by date