Lines Matching full:bmap
79 // data offset should be the size of the bmap struct, but needs to be
83 b bmap
128 // However, bmap.overflow is a pointer. In order to keep overflow buckets
134 overflow *[]*bmap
135 oldoverflow *[]*bmap
138 nextOverflow *bmap
142 type bmap struct {
163 bptr *bmap // current bucket
164 overflow *[]*bmap // keeps overflow buckets of hmap.buckets alive
165 oldoverflow *[]*bmap // keeps overflow buckets of hmap.oldbuckets alive
197 func evacuated(b *bmap) bool {
202 func (b *bmap) overflow(t *maptype) *bmap {
203 return *(**bmap)(add(unsafe.Pointer(b), uintptr(t.bucketsize)-sys.PtrSize))
206 func (b *bmap) setoverflow(t *maptype, ovf *bmap) {
207 *(**bmap)(add(unsafe.Pointer(b), uintptr(t.bucketsize)-sys.PtrSize)) = ovf
210 func (b *bmap) keys() unsafe.Pointer {
240 func (h *hmap) newoverflow(t *maptype, b *bmap) *bmap {
241 var ovf *bmap
248 h.extra.nextOverflow = (*bmap)(add(unsafe.Pointer(ovf), uintptr(t.bucketsize)))
257 ovf = (*bmap)(newobject(t.bucket))
273 h.extra.overflow = new([]*bmap)
327 var nextOverflow *bmap
362 b := (*bmap)(add(h.buckets, (hash&m)*uintptr(t.bucketsize)))
368 oldb := (*bmap)(add(c, (hash&m)*uintptr(t.bucketsize)))
414 b := (*bmap)(unsafe.Pointer(uintptr(h.buckets) + (hash&m)*uintptr(t.bucketsize)))
420 oldb := (*bmap)(unsafe.Pointer(uintptr(c) + (hash&m)*uintptr(t.bucketsize)))
455 b := (*bmap)(unsafe.Pointer(uintptr(h.buckets) + (hash&m)*uintptr(t.bucketsize)))
461 oldb := (*bmap)(unsafe.Pointer(uintptr(c) + (hash&m)*uintptr(t.bucketsize)))
537 b := (*bmap)(unsafe.Pointer(uintptr(h.buckets) + bucket*uintptr(t.bucketsize)))
644 b := (*bmap)(add(h.buckets, bucket*uintptr(t.bucketsize)))
770 b = (*bmap)(add(h.oldbuckets, oldbucket*uintptr(t.bucketsize)))
774 b = (*bmap)(add(it.buckets, bucket*uintptr(t.bucketsize)))
778 b = (*bmap)(add(it.buckets, bucket*uintptr(t.bucketsize)))
865 func makeBucketArray(t *maptype, b uint8) (buckets unsafe.Pointer, nextOverflow *bmap) {
888 nextOverflow = (*bmap)(add(buckets, base*uintptr(t.bucketsize)))
889 last := (*bmap)(add(buckets, (nbuckets-1)*uintptr(t.bucketsize)))
890 last.setoverflow(t, (*bmap)(buckets))
994 b := (*bmap)(add(h.oldbuckets, bucket*uintptr(t.bucketsize)))
1000 b *bmap // current destination bucket
1007 b := (*bmap)(add(h.oldbuckets, oldbucket*uintptr(t.bucketsize)))
1016 x.b = (*bmap)(add(h.buckets, oldbucket*uintptr(t.bucketsize)))
1024 y.b = (*bmap)(add(h.buckets, (oldbucket+newbit)*uintptr(t.bucketsize)))