Skip to content

nonmoving: Fix collection of sparks

Ben Gamari requested to merge wip/gc/fix-sparks into master

Previously sparks living in the non-moving heap would be promptly GC'd by the minor collector since pruneSparkQueue uses the BF_EVACUATED flag, which non-moving heap blocks do not have set.

Fix this by implementing proper support in pruneSparkQueue for determining reachability in the non-moving heap. The story is told in Note [Spark management in the nonmoving heap].

Thanks for Robert J. Stewart for pointing out this issue.

Merge request reports