Skip to content

Nonmoving collector can end up spinning unnecessarily in sweep

Ward identified a call to allocBlockOnNode_sync in nonmovingSweepMutLists. This function isn't necessarily called while the SM lock embodied by alloc_spinlock, meaning that sweep would end up spinning until the mutator triggers a minor GC. Not a correctness issue but still pretty bad.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information