mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
Revert "runtime: redo heap bitmap"
This reverts commit b589208c8c.
Reason for revert: Bug somewhere in this code, causing wasm and maybe linux/386 to fail.
Change-Id: I5e1e501d839584e0219271bb937e94348f83c11f
Reviewed-on: https://go-review.googlesource.com/c/go/+/422395
Reviewed-by: Than McIntosh <thanm@google.com>
Run-TryBot: Keith Randall <khr@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
e1a8e0e05d
commit
ad0287f496
12 changed files with 1126 additions and 530 deletions
|
|
@ -221,22 +221,9 @@ var mheap_ mheap
|
|||
//go:notinheap
|
||||
type heapArena struct {
|
||||
// bitmap stores the pointer/scalar bitmap for the words in
|
||||
// this arena. See mbitmap.go for a description.
|
||||
// This array uses 1 bit per word of heap, or 1.6% of the heap size (for 64-bit).
|
||||
bitmap [heapArenaBitmapWords]uintptr
|
||||
|
||||
// If the ith bit of noMorePtrs is true, then there are no more
|
||||
// pointers for the object containing the word described by the
|
||||
// high bit of bitmap[i].
|
||||
// In that case, bitmap[i+1], ... must be zero until the start
|
||||
// of the next object.
|
||||
// We never operate on these entries using bit-parallel techniques,
|
||||
// so it is ok if they are small. Also, they can't be bigger than
|
||||
// uint16 because at that size a single noMorePtrs entry
|
||||
// represents 8K of memory, the minimum size of a span. Any larger
|
||||
// and we'd have to worry about concurrent updates.
|
||||
// This array uses 1 bit per word of bitmap, or .024% of the heap size (for 64-bit).
|
||||
noMorePtrs [heapArenaBitmapWords / 8]uint8
|
||||
// this arena. See mbitmap.go for a description. Use the
|
||||
// heapBits type to access this.
|
||||
bitmap [heapArenaBitmapBytes]byte
|
||||
|
||||
// spans maps from virtual address page ID within this arena to *mspan.
|
||||
// For allocated spans, their pages map to the span itself.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue