]> Cypherpunks repositories - gostls13.git/commitdiff
all: use built-in clear to clear maps
authorJes Cok <xigua67damn@gmail.com>
Tue, 25 Jul 2023 23:10:34 +0000 (23:10 +0000)
committerGopher Robot <gobot@golang.org>
Thu, 27 Jul 2023 22:07:13 +0000 (22:07 +0000)
Change-Id: I7f4ac72fe3230d8b7486fab0c925015cefcbe355
GitHub-Last-Rev: 54455839b674f980fb6c3afceb433db4833d340e
GitHub-Pull-Request: golang/go#61544
Reviewed-on: https://go-review.googlesource.com/c/go/+/512376
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Keith Randall <khr@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>

src/cmd/go/internal/list/list.go
src/cmd/go/internal/load/pkg.go
src/cmd/gofmt/rewrite.go
src/internal/intern/intern_test.go
src/net/http/httputil/reverseproxy.go
src/runtime/map_benchmark_test.go
src/testing/benchmark.go
src/testing/match.go

index 79120e6a99678576b7d9a4751cc3bb81d48b09c6..6a3ff0ebeb4f9912e5155cdd392e5b9e58b0fc2e 100644 (file)
@@ -780,9 +780,7 @@ func runList(ctx context.Context, cmd *base.Command, args []string) {
                                        p.Imports[i] = new
                                }
                        }
-                       for old := range m {
-                               delete(m, old)
-                       }
+                       clear(m)
                }
        }
 
index c0e6265e29d065e28388d898f507e6748316b3b3..4ea1ebaa25da5a7454e4a7c414635ac50db496b7 100644 (file)
@@ -603,9 +603,7 @@ var packageCache = map[string]*Package{}
 // It is only for use by GOPATH-based "go get".
 // TODO(jayconrod): When GOPATH-based "go get" is removed, delete this function.
 func ClearPackageCache() {
-       for name := range packageCache {
-               delete(packageCache, name)
-       }
+       clear(packageCache)
        resolvedImportCache.Clear()
        packageDataCache.Clear()
 }
index 0b7e21130905c0ca7197892d579f9b348ad2da11..8ed093041c120ee1f1b3f13b1bc4ac527aa66281 100644 (file)
@@ -69,9 +69,7 @@ func rewriteFile(fileSet *token.FileSet, pattern, replace ast.Expr, p *ast.File)
                        return reflect.Value{}
                }
                val = apply(rewriteVal, val)
-               for k := range m {
-                       delete(m, k)
-               }
+               clear(m)
                if match(m, pat, val) {
                        val = subst(m, repl, reflect.ValueOf(val.Interface().(ast.Node).Pos()))
                }
index d1e409ef95718da4b04cf3041e6f32ff3cc98e5d..e87d7e4dc78e740e0d999c08d672acfcc1a3cb83 100644 (file)
@@ -171,9 +171,7 @@ func mapKeys() (keys []string) {
 func clearMap() {
        mu.Lock()
        defer mu.Unlock()
-       for k := range valMap {
-               delete(valMap, k)
-       }
+       clear(valMap)
 }
 
 var (
index 2a76b0b8dcb4bac0e08bf47bca15e32bb4208edb..719ab62d1a8b7cd5b414bd3375471487bd90588e 100644 (file)
@@ -461,10 +461,7 @@ func (p *ReverseProxy) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
                        rw.WriteHeader(code)
 
                        // Clear headers, it's not automatically done by ResponseWriter.WriteHeader() for 1xx responses
-                       for k := range h {
-                               delete(h, k)
-                       }
-
+                       clear(h)
                        return nil
                },
        }
index b46d2a4727a752ac4ec3a3259bb6293a8e9c082b..ef0747fcd8f675dee248c346e0b1a99bb9ff9c45 100644 (file)
@@ -429,9 +429,7 @@ func BenchmarkGoMapClear(b *testing.B) {
                                m := make(map[int]int, size)
                                for i := 0; i < b.N; i++ {
                                        m[0] = size // Add one element so len(m) != 0 avoiding fast paths.
-                                       for k := range m {
-                                               delete(m, k)
-                                       }
+                                       clear(m)
                                }
                        })
                }
@@ -442,9 +440,7 @@ func BenchmarkGoMapClear(b *testing.B) {
                                m := make(map[float64]int, size)
                                for i := 0; i < b.N; i++ {
                                        m[1.0] = size // Add one element so len(m) != 0 avoiding fast paths.
-                                       for k := range m {
-                                               delete(m, k)
-                                       }
+                                       clear(m)
                                }
                        })
                }
index be9b87f80bbdec7a29fafb2ecb2ba7f34980620b..0f4fc3d93092a0925b4c4f98a930496a81bc72a9 100644 (file)
@@ -151,9 +151,7 @@ func (b *B) ResetTimer() {
                // Pre-size it to make more allocation unlikely.
                b.extra = make(map[string]float64, 16)
        } else {
-               for k := range b.extra {
-                       delete(b.extra, k)
-               }
+               clear(b.extra)
        }
        if b.timerOn {
                runtime.ReadMemStats(&memStats)
index 92b7dc622de2dc88c42cd5374bb19cffa6da4be3..84804dc2ecff803dda2335ebeebbf75ad0bd0177 100644 (file)
@@ -119,9 +119,7 @@ func (m *matcher) fullName(c *common, subname string) (name string, ok, partial
 func (m *matcher) clearSubNames() {
        m.mu.Lock()
        defer m.mu.Unlock()
-       for key := range m.subNames {
-               delete(m.subNames, key)
-       }
+       clear(m.subNames)
 }
 
 func (m simpleMatch) matches(name []string, matchString func(pat, str string) (bool, error)) (ok, partial bool) {