Bug report
Both mark_at_start and gc_collect_increment (its caller) decrement work_to_do by the number of objects marked. This can result in incremental collections being delayed longer than expected... I think in extreme situations, collection could be delayed indefinitely, resulting in leaks.
The fix is simple, just remove one of the decrements.
Linked PRs
Bug report
Both
mark_at_startandgc_collect_increment(its caller) decrementwork_to_doby the number of objects marked. This can result in incremental collections being delayed longer than expected... I think in extreme situations, collection could be delayed indefinitely, resulting in leaks.The fix is simple, just remove one of the decrements.
Linked PRs