mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: add pointer size to type structure
This adds a field to the runtime type structure that records the size of the prefix of objects of that type containing pointers. Any data after this offset is scalar data. This is necessary for shrinking the type bitmaps to 1 bit and will help the garbage collector efficiently estimate the amount of heap that needs to be scanned. Change-Id: I1318d79e6360dca0ac980245016c562e61f52ff5 Reviewed-on: https://go-review.googlesource.com/9691 Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
91938fd1ca
commit
98a9d36837
4 changed files with 74 additions and 8 deletions
|
|
@ -8,9 +8,12 @@ package runtime
|
|||
|
||||
import "unsafe"
|
||||
|
||||
// Needs to be in sync with ../../cmd/internal/ld/decodesym.go:/^commonsize and pkg/reflect/type.go:/type.
|
||||
// Needs to be in sync with ../cmd/internal/ld/decodesym.go:/^func.commonsize,
|
||||
// ../cmd/internal/gc/reflect.go:/^func.dcommontype and
|
||||
// ../reflect/type.go:/^type.rtype.
|
||||
type _type struct {
|
||||
size uintptr
|
||||
ptrsize uintptr // Bytes of prefix containing pointer slots.
|
||||
hash uint32
|
||||
_unused uint8
|
||||
align uint8
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue