mirror of
https://github.com/golang/go
synced 2024-11-24 04:50:07 -07:00
runtime: minor clarifications of markroot
This puts the _Root* indexes in a more friendly order and tweaks markrootSpans to use a for-range loop instead of its own indexing. Change-Id: I2c18d55c9a673ea396b6424d51ef4997a1a74825 Reviewed-on: https://go-review.googlesource.com/14548 Reviewed-by: Rick Hudson <rlh@golang.org>
This commit is contained in:
parent
a1cad70a2f
commit
4ac4085f8e
@ -126,13 +126,14 @@ const (
|
||||
_DebugGC = 0
|
||||
_ConcurrentSweep = true
|
||||
_FinBlockSize = 4 * 1024
|
||||
|
||||
_RootData = 0
|
||||
_RootBss = 1
|
||||
_RootFinalizers = 2
|
||||
_RootSpans0 = 3
|
||||
_RootFlushCaches = 3
|
||||
_RootSpans0 = 4
|
||||
_RootSpansShards = 128
|
||||
_RootFlushCaches = _RootSpans0 + _RootSpansShards
|
||||
_RootCount = _RootFlushCaches + 1
|
||||
_RootCount = _RootSpans0 + _RootSpansShards
|
||||
|
||||
// sweepMinHeapDistance is a lower bound on the heap distance
|
||||
// (in bytes) reserved for concurrent sweeping between GC
|
||||
|
@ -121,8 +121,7 @@ func markrootSpans(gcw *gcWork, shard int) {
|
||||
sg := mheap_.sweepgen
|
||||
startSpan := shard * len(work.spans) / _RootSpansShards
|
||||
endSpan := (shard + 1) * len(work.spans) / _RootSpansShards
|
||||
for spanidx := startSpan; spanidx < endSpan; spanidx++ {
|
||||
s := work.spans[spanidx]
|
||||
for _, s := range work.spans[startSpan:endSpan] {
|
||||
if s.state != mSpanInUse {
|
||||
continue
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user