diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-11-09 10:16:15 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-11-09 10:16:15 -0800 |
commit | 57867881e31273f91c398b55f75417484f11ddc0 (patch) | |
tree | f45ba3cb1ac752e744cd53cd93a8809d136e70c0 /eval.c | |
parent | 0512605daf81ebcd9595fff447bc397825342a37 (diff) | |
download | txr-57867881e31273f91c398b55f75417484f11ddc0.tar.gz txr-57867881e31273f91c398b55f75417484f11ddc0.tar.bz2 txr-57867881e31273f91c398b55f75417484f11ddc0.zip |
gc: bugfix: maintain tail pointer in new sweep code.
* gc.c (sweep): The new logic for removing a deleted
heap's blocks from the free list must correctly maintain
free_tail. Whenever a node is deleted which is the tail node,
the tail pointer must move to the parent's tail field, or to
the free_list pointer. We don't need to do anything afterward
for the free_list == 0 case; that is taken care of.
Diffstat (limited to 'eval.c')
0 files changed, 0 insertions, 0 deletions