aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/mgc.go
diff options
context:
space:
mode:
authorMichael Anthony Knyszek <mknyszek@google.com>2021-10-18 23:12:16 +0000
committerMichael Knyszek <mknyszek@google.com>2021-10-20 20:39:33 +0000
commita91e976fd2cc6f1c156877eae40262d7e47c745c (patch)
tree2a63625f5b3b41dc6b7aa98b39c55f6c45099b4b /src/runtime/mgc.go
parent1dff8f0a056517f0a8adfda663402ffb2e089281 (diff)
downloadgo-a91e976fd2cc6f1c156877eae40262d7e47c745c.tar.gz
go-a91e976fd2cc6f1c156877eae40262d7e47c745c.zip
runtime: retype mheap.reclaimIndex as atomic.Uint64
[git-generate] cd src/runtime mv export_test.go export.go GOROOT=$(dirname $(dirname $PWD)) rf ' add mheap.reclaimIndex \ // reclaimIndex is the page index in allArenas of next page to \ // reclaim. Specifically, it refers to page (i % \ // pagesPerArena) of arena allArenas[i / pagesPerArena]. \ // \ // If this is >= 1<<63, the page reclaimer is done scanning \ // the page marks. \ reclaimIndex_ atomic.Uint64 ex { import "runtime/internal/atomic" var t mheap var v, w uint64 var d int64 t.reclaimIndex -> t.reclaimIndex_.Load() t.reclaimIndex = v -> t.reclaimIndex_.Store(v) atomic.Load64(&t.reclaimIndex) -> t.reclaimIndex_.Load() atomic.LoadAcq64(&t.reclaimIndex) -> t.reclaimIndex_.LoadAcquire() atomic.Store64(&t.reclaimIndex, v) -> t.reclaimIndex_.Store(v) atomic.StoreRel64(&t.reclaimIndex, v) -> t.reclaimIndex_.StoreRelease(v) atomic.Cas64(&t.reclaimIndex, v, w) -> t.reclaimIndex_.CompareAndSwap(v, w) atomic.Xchg64(&t.reclaimIndex, v) -> t.reclaimIndex_.Swap(v) atomic.Xadd64(&t.reclaimIndex, d) -> t.reclaimIndex_.Add(d) } rm mheap.reclaimIndex mv mheap.reclaimIndex_ mheap.reclaimIndex ' mv export.go export_test.go Change-Id: I1d619e3ac032285b5f7eb6c563a5188c8e36d089 Reviewed-on: https://go-review.googlesource.com/c/go/+/356711 Reviewed-by: Austin Clements <austin@google.com> Trust: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/runtime/mgc.go')
-rw-r--r--src/runtime/mgc.go2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/runtime/mgc.go b/src/runtime/mgc.go
index 654fa4118a..56ef1c4e38 100644
--- a/src/runtime/mgc.go
+++ b/src/runtime/mgc.go
@@ -1459,7 +1459,7 @@ func gcSweep(mode gcMode) {
mheap_.sweepDrained = 0
mheap_.pagesSwept.Store(0)
mheap_.sweepArenas = mheap_.allArenas
- mheap_.reclaimIndex = 0
+ mheap_.reclaimIndex.Store(0)
mheap_.reclaimCredit = 0
unlock(&mheap_.lock)