summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-11-09 10:16:15 -0800
committerKaz Kylheku <kaz@kylheku.com>2019-11-09 10:16:15 -0800
commit57867881e31273f91c398b55f75417484f11ddc0 (patch)
treef45ba3cb1ac752e744cd53cd93a8809d136e70c0 /eval.c
parent0512605daf81ebcd9595fff447bc397825342a37 (diff)
downloadtxr-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