Lines Matching full:bmap
75 // data offset should be the size of the bmap struct, but needs to be
79 b bmap
116 // However, bmap.overflow is a pointer. In order to keep overflow buckets
123 overflow *[2]*[]*bmap
127 type bmap struct {
145 bptr *bmap // current bucket
146 overflow [2]*[]*bmap // keeps overflow buckets alive
156 func evacuated(b *bmap) bool {
161 func (b *bmap) overflow(t *maptype) *bmap {
162 return *(**bmap)(add(unsafe.Pointer(b), uintptr(t.bucketsize)-ptrSize))
165 func (h *hmap) setoverflow(t *maptype, b, ovf *bmap) {
170 *(**bmap)(add(unsafe.Pointer(b), uintptr(t.bucketsize)-ptrSize)) = ovf
175 h.overflow = new([2]*[]*bmap)
178 h.overflow[0] = new([]*bmap)
285 b := (*bmap)(add(h.buckets, (hash&m)*uintptr(t.bucketsize)))
287 oldb := (*bmap)(add(c, (hash&(m>>1))*uintptr(t.bucketsize)))
333 b := (*bmap)(unsafe.Pointer(uintptr(h.buckets) + (hash&m)*uintptr(t.bucketsize)))
335 oldb := (*bmap)(unsafe.Pointer(uintptr(c) + (hash&(m>>1))*uintptr(t.bucketsize)))
376 b := (*bmap)(unsafe.Pointer(uintptr(h.buckets) + (hash&m)*uintptr(t.bucketsize)))
378 oldb := (*bmap)(unsafe.Pointer(uintptr(c) + (hash&(m>>1))*uintptr(t.bucketsize)))
435 b := (*bmap)(unsafe.Pointer(uintptr(h.buckets) + bucket*uintptr(t.bucketsize)))
487 newb := (*bmap)(newobject(t.bucket))
527 b := (*bmap)(unsafe.Pointer(uintptr(h.buckets) + bucket*uintptr(t.bucketsize)))
648 b = (*bmap)(add(h.oldbuckets, oldbucket*uintptr(t.bucketsize)))
652 b = (*bmap)(add(it.buckets, bucket*uintptr(t.bucketsize)))
656 b = (*bmap)(add(it.buckets, bucket*uintptr(t.bucketsize)))
800 b := (*bmap)(add(h.oldbuckets, oldbucket*uintptr(t.bucketsize)))
807 x := (*bmap)(add(h.buckets, oldbucket*uintptr(t.bucketsize)))
808 y := (*bmap)(add(h.buckets, (oldbucket+newbit)*uintptr(t.bucketsize)))
861 newx := (*bmap)(newobject(t.bucket))
885 newy := (*bmap)(newobject(t.bucket))
911 b = (*bmap)(add(h.oldbuckets, oldbucket*uintptr(t.bucketsize)))