Lines Matching full:h_spans
146 // h_spans is a lookup table to map virtual address page IDs to *mspan.
150 // For pages that have never been allocated, h_spans entries are nil.
151 var h_spans []*mspan // TODO: make this h.spans once mheap can be defined in Go
197 s := h_spans[x]
220 return h_spans[(p-mheap_.arena_start)>>_PageShift]
291 sp := (*slice)(unsafe.Pointer(&h_spans))
465 // h_spans is accessed concurrently without synchronization
467 // barrier here to ensure the writes to h_spans above happen
471 // look up s in h_spans. The unlock acts as the barrier to
473 // between p and the index in h_spans orders the reads.
567 h_spans[p-1] = s
569 h_spans[p] = t
570 h_spans[p+t.npages-1] = t
582 h_spans[p+n] = s
647 h_spans[i] = s
661 return h_spans[p>>_PageShift]
678 s := h_spans[q]
756 t := h_spans[p-1]
763 h_spans[p] = s
770 t := h_spans[p+s.npages]
775 h_spans[p+s.npages-1] = s