]> Cypherpunks repositories - gostls13.git/commitdiff
internal/bisect: replace atomicPointerDedup to simplify the code
authorapocelipes <seve3r@outlook.com>
Thu, 14 Mar 2024 12:55:10 +0000 (12:55 +0000)
committerGopher Robot <gobot@golang.org>
Fri, 15 Mar 2024 15:59:51 +0000 (15:59 +0000)
"atomicPointerDedup" is a redundancy of "atomic.Pointer".

Since Go 1.22 now requires the final point release of Go 1.20  or
later for bootstrap, Go 1.19's atomic.Pointer can be used
without problems.

atomicPointerDedup is unnecessary and we can remove it now.

Change-Id: I0a65ad0b6649cecb73d58dc39c5fd736390d5fa5
GitHub-Last-Rev: 6c6e9421fbdf34c2d4b3ea21359f847ccf9a34cd
GitHub-Pull-Request: golang/go#65987
Reviewed-on: https://go-review.googlesource.com/c/go/+/567656
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>

src/internal/bisect/bisect.go

index 3e5a6849f7e34a274af4c9612fb4e3e34b5d918b..fa753e80e7e56a6b21a3442051e35cc311d97372 100644 (file)
@@ -180,7 +180,6 @@ import (
        "runtime"
        "sync"
        "sync/atomic"
-       "unsafe"
 )
 
 // New creates and returns a new Matcher implementing the given pattern.
@@ -311,22 +310,7 @@ type Matcher struct {
        quiet   bool   // disables all reporting.  reset if verbose is true. use case is -d=fmahash=qn
        enable  bool   // when true, list is for “enable and report” (when false, “disable and report”)
        list    []cond // conditions; later ones win over earlier ones
-       dedup   atomicPointerDedup
-}
-
-// atomicPointerDedup is an atomic.Pointer[dedup],
-// but we are avoiding using Go 1.19's atomic.Pointer
-// until the bootstrap toolchain can be relied upon to have it.
-type atomicPointerDedup struct {
-       p unsafe.Pointer
-}
-
-func (p *atomicPointerDedup) Load() *dedup {
-       return (*dedup)(atomic.LoadPointer(&p.p))
-}
-
-func (p *atomicPointerDedup) CompareAndSwap(old, new *dedup) bool {
-       return atomic.CompareAndSwapPointer(&p.p, unsafe.Pointer(old), unsafe.Pointer(new))
+       dedup   atomic.Pointer[dedup]
 }
 
 // A cond is a single condition in the matcher.