From 78aef56062e00cb45e69ee040fe35de6e08938d3 Mon Sep 17 00:00:00 2001 From: hopehook Date: Thu, 25 Aug 2022 11:11:59 +0800 Subject: [PATCH] cmd/go/internal/modload: convert atomicLoadPkgFlags.bits to atomic type Change-Id: I9e59530953439dec6f4524c5a7adc75c98c12b8f Reviewed-on: https://go-review.googlesource.com/c/go/+/425456 Auto-Submit: Bryan Mills Reviewed-by: David Chase Reviewed-by: Bryan Mills TryBot-Result: Gopher Robot Run-TryBot: Bryan Mills --- src/cmd/go/internal/modload/load.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cmd/go/internal/modload/load.go b/src/cmd/go/internal/modload/load.go index 7e061f01a4..69b0c30978 100644 --- a/src/cmd/go/internal/modload/load.go +++ b/src/cmd/go/internal/modload/load.go @@ -932,7 +932,7 @@ func (f loadPkgFlags) has(cond loadPkgFlags) bool { // An atomicLoadPkgFlags stores a loadPkgFlags for which individual flags can be // added atomically. type atomicLoadPkgFlags struct { - bits int32 + bits atomic.Int32 } // update sets the given flags in af (in addition to any flags already set). @@ -941,9 +941,9 @@ type atomicLoadPkgFlags struct { // flags were newly-set. func (af *atomicLoadPkgFlags) update(flags loadPkgFlags) (old loadPkgFlags) { for { - old := atomic.LoadInt32(&af.bits) + old := af.bits.Load() new := old | int32(flags) - if new == old || atomic.CompareAndSwapInt32(&af.bits, old, new) { + if new == old || af.bits.CompareAndSwap(old, new) { return loadPkgFlags(old) } } @@ -951,7 +951,7 @@ func (af *atomicLoadPkgFlags) update(flags loadPkgFlags) (old loadPkgFlags) { // has reports whether all of the flags in cond are set in af. func (af *atomicLoadPkgFlags) has(cond loadPkgFlags) bool { - return loadPkgFlags(atomic.LoadInt32(&af.bits))&cond == cond + return loadPkgFlags(af.bits.Load())&cond == cond } // isTest reports whether pkg is a test of another package. -- 2.50.0