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
This commit is contained in:
Matthew Flatt 2020-04-01 15:25:59 -06:00
parent 5c91b7f9ac
commit 8656bbae7e

View File

@ -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;
}