type mcentral … // Initialize a single central free list. func (c *mcentral) init(spc spanClass) { … } // partialUnswept returns the spanSet which holds partially-filled // unswept spans for this sweepgen. func (c *mcentral) partialUnswept(sweepgen uint32) *spanSet { … } // partialSwept returns the spanSet which holds partially-filled // swept spans for this sweepgen. func (c *mcentral) partialSwept(sweepgen uint32) *spanSet { … } // fullUnswept returns the spanSet which holds unswept spans without any // free slots for this sweepgen. func (c *mcentral) fullUnswept(sweepgen uint32) *spanSet { … } // fullSwept returns the spanSet which holds swept spans without any // free slots for this sweepgen. func (c *mcentral) fullSwept(sweepgen uint32) *spanSet { … } // Allocate a span to use in an mcache. func (c *mcentral) cacheSpan() *mspan { … } // Return span from an mcache. // // s must have a span class corresponding to this // mcentral and it must not be empty. func (c *mcentral) uncacheSpan(s *mspan) { … } // grow allocates a new empty span from the heap and initializes it for c's size class. func (c *mcentral) grow() *mspan { … }