var runtime.gcBitsArenas

35 uses

	runtime (current package)
		malloc.go#L482: 	lockInit(&gcBitsArenas.lock, lockRankGcBitsArenas)
		mheap.go#L1902: var gcBitsArenas struct {
		mheap.go#L1933: 	head := (*gcBitsArena)(atomic.Loadp(unsafe.Pointer(&gcBitsArenas.next)))
		mheap.go#L1940: 	lock(&gcBitsArenas.lock)
		mheap.go#L1944: 	if p := gcBitsArenas.next.tryAlloc(bytesNeeded); p != nil {
		mheap.go#L1945: 		unlock(&gcBitsArenas.lock)
		mheap.go#L1954: 	if p := gcBitsArenas.next.tryAlloc(bytesNeeded); p != nil {
		mheap.go#L1957: 		fresh.next = gcBitsArenas.free
		mheap.go#L1958: 		gcBitsArenas.free = fresh
		mheap.go#L1959: 		unlock(&gcBitsArenas.lock)
		mheap.go#L1971: 	fresh.next = gcBitsArenas.next
		mheap.go#L1972: 	atomic.StorepNoWB(unsafe.Pointer(&gcBitsArenas.next), unsafe.Pointer(fresh))
		mheap.go#L1974: 	unlock(&gcBitsArenas.lock)
		mheap.go#L2003: 	lock(&gcBitsArenas.lock)
		mheap.go#L2004: 	if gcBitsArenas.previous != nil {
		mheap.go#L2005: 		if gcBitsArenas.free == nil {
		mheap.go#L2006: 			gcBitsArenas.free = gcBitsArenas.previous
		mheap.go#L2009: 			last := gcBitsArenas.previous
		mheap.go#L2010: 			for last = gcBitsArenas.previous; last.next != nil; last = last.next {
		mheap.go#L2012: 			last.next = gcBitsArenas.free
		mheap.go#L2013: 			gcBitsArenas.free = gcBitsArenas.previous
		mheap.go#L2016: 	gcBitsArenas.previous = gcBitsArenas.current
		mheap.go#L2017: 	gcBitsArenas.current = gcBitsArenas.next
		mheap.go#L2018: 	atomic.StorepNoWB(unsafe.Pointer(&gcBitsArenas.next), nil) // newMarkBits calls newArena when needed
		mheap.go#L2019: 	unlock(&gcBitsArenas.lock)
		mheap.go#L2026: 	if gcBitsArenas.free == nil {
		mheap.go#L2027: 		unlock(&gcBitsArenas.lock)
		mheap.go#L2032: 		lock(&gcBitsArenas.lock)
		mheap.go#L2034: 		result = gcBitsArenas.free
		mheap.go#L2035: 		gcBitsArenas.free = gcBitsArenas.free.next