mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: remove alignment padding in mheap and pageAlloc
All subfields use atomic types to ensure alignment, so there's no more need for these fields. Change-Id: Iada4253f352a074073ce603f1f6b07cbd5b7c58a Reviewed-on: https://go-review.googlesource.com/c/go/+/429220 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Michael Knyszek <mknyszek@google.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
1c59199c91
commit
e28cc362a8
2 changed files with 0 additions and 8 deletions
|
|
@ -65,8 +65,6 @@ type mheap struct {
|
||||||
// could self-deadlock if its stack grows with the lock held.
|
// could self-deadlock if its stack grows with the lock held.
|
||||||
lock mutex
|
lock mutex
|
||||||
|
|
||||||
_ uint32 // 8-byte align pages so its alignment is consistent with tests.
|
|
||||||
|
|
||||||
pages pageAlloc // page allocation data structure
|
pages pageAlloc // page allocation data structure
|
||||||
|
|
||||||
sweepgen uint32 // sweep generation, see comment in mspan; written during STW
|
sweepgen uint32 // sweep generation, see comment in mspan; written during STW
|
||||||
|
|
@ -84,8 +82,6 @@ type mheap struct {
|
||||||
// access (since that may free the backing store).
|
// access (since that may free the backing store).
|
||||||
allspans []*mspan // all spans out there
|
allspans []*mspan // all spans out there
|
||||||
|
|
||||||
// _ uint32 // align uint64 fields on 32-bit for atomics
|
|
||||||
|
|
||||||
// Proportional sweep
|
// Proportional sweep
|
||||||
//
|
//
|
||||||
// These parameters represent a linear function from gcController.heapLive
|
// These parameters represent a linear function from gcController.heapLive
|
||||||
|
|
@ -191,8 +187,6 @@ type mheap struct {
|
||||||
base, end uintptr
|
base, end uintptr
|
||||||
}
|
}
|
||||||
|
|
||||||
_ uint32 // ensure 64-bit alignment of central
|
|
||||||
|
|
||||||
// central free lists for small size classes.
|
// central free lists for small size classes.
|
||||||
// the padding makes sure that the mcentrals are
|
// the padding makes sure that the mcentrals are
|
||||||
// spaced CacheLinePadSize bytes apart, so that each mcentral.lock
|
// spaced CacheLinePadSize bytes apart, so that each mcentral.lock
|
||||||
|
|
|
||||||
|
|
@ -267,8 +267,6 @@ type pageAlloc struct {
|
||||||
// All access is protected by the mheapLock.
|
// All access is protected by the mheapLock.
|
||||||
inUse addrRanges
|
inUse addrRanges
|
||||||
|
|
||||||
_ uint32 // Align scav so it's easier to reason about alignment within scav.
|
|
||||||
|
|
||||||
// scav stores the scavenger state.
|
// scav stores the scavenger state.
|
||||||
scav struct {
|
scav struct {
|
||||||
// index is an efficient index of chunks that have pages available to
|
// index is an efficient index of chunks that have pages available to
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue