From 8b0f773dad83e5d7bb07ae391352b6ffb7aa5937 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 16 Nov 2015 20:14:44 -0800 Subject: Combat spurious retention in mapdo. * lib.c (mapdo): gc_hint the list variable so that the list march isn't entirely optimized into a register, leaving a pointer to the top of the list on the stack. --- lib.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib.c b/lib.c index 580b2c2c..4700344e 100644 --- a/lib.c +++ b/lib.c @@ -6377,6 +6377,8 @@ val mapdo(val fun, val list) { list = nullify(list); + gc_hint(list); + for (; list; list = cdr(list)) funcall1(fun, car(list)); -- cgit v1.2.3