aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/runtime.go
diff options
context:
space:
mode:
authorCuong Manh Le <cuong.manhle.vn@gmail.com>2022-08-19 18:46:18 +0700
committerGopher Robot <gobot@golang.org>2022-08-23 20:00:03 +0000
commite1114fdf883de7484c49343d966fd9759ce48c40 (patch)
tree1828c253b1423e342ef4c4ab99fefb6954ee5888 /src/runtime/runtime.go
parent332a5981d0ae3f21f668f94755f43ecd8ee9a9eb (diff)
downloadgo-e1114fdf883de7484c49343d966fd9759ce48c40.tar.xz
runtime: convert ticksType.val to atomic type
Updates #53821 Change-Id: Ia0c58d7e7e11a1b52bbb7c19ebbb131e3eea5314 Reviewed-on: https://go-review.googlesource.com/c/go/+/424926 Reviewed-by: Michael Knyszek <mknyszek@google.com> Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/runtime/runtime.go')
-rw-r--r--src/runtime/runtime.go9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/runtime/runtime.go b/src/runtime/runtime.go
index e9fd56b46d..50f68a327c 100644
--- a/src/runtime/runtime.go
+++ b/src/runtime/runtime.go
@@ -18,18 +18,17 @@ var ticks ticksType
type ticksType struct {
lock mutex
- pad uint32 // ensure 8-byte alignment of val on 386
- val uint64
+ val atomic.Int64
}
// Note: Called by runtime/pprof in addition to runtime code.
func tickspersecond() int64 {
- r := int64(atomic.Load64(&ticks.val))
+ r := ticks.val.Load()
if r != 0 {
return r
}
lock(&ticks.lock)
- r = int64(ticks.val)
+ r = ticks.val.Load()
if r == 0 {
t0 := nanotime()
c0 := cputicks()
@@ -43,7 +42,7 @@ func tickspersecond() int64 {
if r == 0 {
r++
}
- atomic.Store64(&ticks.val, uint64(r))
+ ticks.val.Store(r)
}
unlock(&ticks.lock)
return r