Lines Matching refs:Spans
22 allspans **mspan // all spans out there
26 sweepdone uint32 // all spans are swept
28 spans **mspan
32 spanBytesAlloc uint64 // bytes of spans allocated this cycle; updated atomically
45 arena_used uintptr // always mHeap_Map{Bits,Spans} before updating
147 // For allocated spans, their pages map to the span itself.
148 // For free spans, only the lowest and highest pages map to the span itself. Internal
151 var h_spans []*mspan // TODO: make this h.spans once mheap can be defined in Go
185 // It returns false for pointers into stack spans.
292 sp.array = unsafe.Pointer(h.spans)
297 // mHeap_MapSpans makes sure that the spans are mapped
306 // Map spans array, PageSize at a time.
314 sysMap(add(unsafe.Pointer(h.spans), h.spans_mapped), n-h.spans_mapped, h.arena_reserved, &memstats.other_sys)
318 // Sweeps spans in list until reclaims at least npages into heap.
327 // swept spans are at the end of the list
355 // First try to sweep busy spans with large objects of size >= npage,
382 if n == ^uintptr(0) { // all spans are swept
406 // spans in order to find a few completely free spans
410 // in a span, we could release these free spans
453 // Swept spans are at the end of lists.
529 // Best fit in list of large spans.
595 // Allocate a span of exactly npage pages from the list of large spans.
601 // If there are multiple smallest spans, take the one
668 // valid for allocated spans. Free spans may have
744 // Stamp newly unused spans. The scavenger will use that
752 // Coalesce with earlier, later spans.