From 8656bbae7e359a56a0ac25564a9e424d9c8c5088 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 1 Apr 2020 15:25:59 -0600 Subject: [PATCH] fix ephemeron allocation Only half(!) of the needed space was actually allocated. The extra space is ony used after a GC, however, and a GC makes the extra room, so that's why things haven't fallen over completely, but that's more subtle than intended. original commit: 3d72bc14b9247d6764809cb651403dbb4063a905 --- c/prim5.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/c/prim5.c b/c/prim5.c index 822e427d21..2b8213386a 100644 --- a/c/prim5.c +++ b/c/prim5.c @@ -183,8 +183,11 @@ static ptr s_ephemeron_cons(car, cdr) ptr car, cdr; { ptr p; tc_mutex_acquire() - p = S_cons_in(space_ephemeron, 0, car, cdr); + find_room(space_ephemeron, 0, type_pair, size_ephemeron, p); tc_mutex_release() + INITCAR(p) = car; + INITCDR(p) = cdr; + return p; }