- 12 May, 2018 3 commits
-
-
Pierre Prinetti authored
Use Go 1.7 Run method of testing.T to run the table-driven tests into separate, named subtests. The behaviour of the tests is not modified. Change-Id: Ia88fa59a3534e79e3f0731e948b5f8a9919b339d Reviewed-on: https://go-review.googlesource.com/84478 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alex Brainman authored
ch is of size 1, and has only one read. But current code can write to ch more than once. This makes goroutines that do network name lookups block forever. Only 500 goroutines are allowed, and we eventually run out of goroutines. Rewrite the code to only write into ch once. Fixes #24178 Change-Id: Ifbd37db377c8b05e69eca24cc9147e7f86f899d8 Reviewed-on: https://go-review.googlesource.com/111718 Run-TryBot: Alex Brainman <alex.brainman@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Agniva De Sarker authored
Fixes #25325 Change-Id: I101641be99a820722edb7272918e04e8d2e1646c Reviewed-on: https://go-review.googlesource.com/112775Reviewed-by: Rob Pike <r@golang.org>
-
- 11 May, 2018 5 commits
-
-
Bryan C. Mills authored
Updates #22687. Change-Id: Iedccd9d2416ae7150cd2febe81c8bc9493d8d65c Reviewed-on: https://go-review.googlesource.com/112915 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Theophanes authored
It was unclear that users must copy values out of the src value for value types like []byte. Fixes #24492 Change-Id: I99ad61e0ad0075b9efc5ee4e0d067f752f91b8fa Reviewed-on: https://go-review.googlesource.com/108535Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Elias Naur authored
When running tests that fails to complete within the test timeout, the go tool sends the test program a SIGQUIT signal to print backtraces. However, for tests running with an exec wrapper, the resulting backtraces will come from the exec wrapper process and not the test program. Change the iOS exec wrapper to forward SIGQUIT signals to the lldb python driver and change the driver to forward the signals to the running test on the device. Before: $ GOARCH=arm64 go test forever_test.go lldb: running program SIGQUIT: quit PC=0x10816fe m=0 sigcode=0 goroutine 54 [syscall]: syscall.Syscall6(0x7, 0x16ab, 0xc000033dfc, 0x0, 0xc000116f30, 0x0, 0x0, 0xc000116f30, 0x0, 0x1328820) /Users/elias/go-tip/src/syscall/asm_darwin_amd64.s:41 +0x5 fp=0xc000033d48 sp=0xc000033d40 pc=0x10816d5 syscall.wait4(0x16ab, 0xc000033dfc, 0x0, 0xc000116f30, 0x90, 0x1200e00, 0x1) /Users/elias/go-tip/src/syscall/zsyscall_darwin_amd64.go:34 +0x7b fp=0xc000033dc0 sp=0xc000033d48 pc=0x107e4eb syscall.Wait4(0x16ab, 0xc000033e4c, 0x0, 0xc000116f30, 0xc0000fd518, 0x0, 0x0) /Users/elias/go-tip/src/syscall/syscall_bsd.go:129 +0x51 fp=0xc000033e10 sp=0xc000033dc0 pc=0x107b7b1 os.(*Process).wait(0xc00008d440, 0x1095e2e, 0xc0000fd518, 0x0) /Users/elias/go-tip/src/os/exec_unix.go:38 +0x7b fp=0xc000033e80 sp=0xc000033e10 pc=0x109af2b os.(*Process).Wait(0xc00008d440, 0xc000033fb0, 0x10, 0x11d1f00) /Users/elias/go-tip/src/os/exec.go:125 +0x2b fp=0xc000033eb0 sp=0xc000033e80 pc=0x109a47b os/exec.(*Cmd).Wait(0xc0000b1ce0, 0xc000033f90, 0x11394df) /Users/elias/go-tip/src/os/exec/exec.go:463 +0x5b fp=0xc000033f28 sp=0xc000033eb0 pc=0x1136f0b main.startDebugBridge.func1(0xc0000b1ce0, 0xc0000b8ae0, 0xc0000e2a80) /Users/elias/go-tip/misc/ios/go_darwin_arm_exec.go:314 +0x40 fp=0xc000033fc8 sp=0xc000033f28 pc=0x11a1980 runtime.goexit() /Users/elias/go-tip/src/runtime/asm_amd64.s:1360 +0x1 fp=0xc000033fd0 sp=0xc000033fc8 pc=0x10565a1 created by main.startDebugBridge /Users/elias/go-tip/misc/ios/go_darwin_arm_exec.go:313 +0x15f ... After: $ GOARCH=arm64 go test forever_test.go lldb: running program === RUN TestForever SIGQUIT: quit PC=0x100144e24 m=0 sigcode=0 ... goroutine 19 [select (no cases)]: command-line-arguments.TestForever(0x1300b60f0) /Users/elias/go-tip/src/forever_test.go:6 +0x18 testing.tRunner(0x1300b60f0, 0x100211aa0) /Users/elias/go-tip/src/testing/testing.go:795 +0xa8 created by testing.(*T).Run /Users/elias/go-tip/src/testing/testing.go:840 +0x22c ... Change-Id: I6b3cf1662d07a43ade0530842733b0944bee1ace Reviewed-on: https://go-review.googlesource.com/112676 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
-
Daniel Theophanes authored
Provide better statistics for the database pool. Add counters for waiting on the pool and closes. Too much waiting or too many connection closes could indicate a problem. Fixes #24683 Fixes #22138 Change-Id: I9e1e32a0487edf41c566b8d9c07cb55e04078fec Reviewed-on: https://go-review.googlesource.com/108536 Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
quasilyte authored
Use 0-terminated opbyte sequences for Zlit-like movtabs instead of E=0xff. movCodeFullPtr is unused (load full ptr is unsupported), but it should be removed in a separate CL (if removed at all). Passes toolstash-check. Change-Id: I28436718d93b017153de0e50e3bcec344ea4ee05 Reviewed-on: https://go-review.googlesource.com/107076 Run-TryBot: Iskander Sharipov <iskander.sharipov@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
- 10 May, 2018 14 commits
-
-
Robert Griesemer authored
On the API level this is just an update of the documentation to match the current spec more closely. On the implementation side, this is a rename of various unexported names. For #22005. Change-Id: Ie5ae32f3b10f003805240efcceab3d0fd373cd51 Reviewed-on: https://go-review.googlesource.com/112717 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
Commit f8b41236 (https://go-review.googlesource.com/35108) adjusted the spec to uniformly use 'embedded' rather than 'anonymous' for struct embedded fields. Adjust go/types' internal terminology. Provide an additional accessor Var.IsEmbedded(). This is essentially a rename of an internal field and adjustments of documentation. Change-Id: Icd07aa192bc5df7a2ee103185fa7e9c55e8f1ac3 Reviewed-on: https://go-review.googlesource.com/112716 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Alan Donovan <adonovan@google.com>
-
Daniel Theophanes authored
The connRequest may return a nil conn value. However in a rare case that is difficult to test for it was being passed to DB.putConn without a nil check. This was an error as this made no sense if the driverConn is nil. This also caused a panic in putConn. A test for this would be nice, but didn't find a sane way to test for this condition. Fixes #24445 Change-Id: I827316e856788a5a3ced913f129bb5869b7bcf68 Reviewed-on: https://go-review.googlesource.com/102477 Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
A receiver type may have an (alias type) name and thus be 'named' even though the name doesn't refer to a defined type. Adjust the error message to make this clearer. Change-Id: I969bf8d1ba3db8820f67f6ecd6d5cfe564c5b80d Reviewed-on: https://go-review.googlesource.com/112638Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
Even if we had an up-to-date package binary, we reran cgo anyway if (1) we needed a header file for buildmode c-archive or c-shared, or (2) we needed cgo-translated files source files for input to go vet. Cache those outputs too, so that we can avoid cgo if possible. Working toward exposing the cgo-generated files in go list. Change-Id: I339ecace925d2b0adc235a17977ecadb3d636c73 Reviewed-on: https://go-review.googlesource.com/108015 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
To date, go run has required a list of .go files. This CL allows in place of that list a single import path or a directory name or a pattern matching a single patckage. This allows 'go run pkg' or 'go run dir', most importantly 'go run .'. The discussion in #22726 gives more motivation. The basic idea is that you can already run 'go test .' but if you're developing a command it's pretty awkward to iterate at the same speed. This lets you do that, by using 'go run . [args]'. Fixes #22726. Change-Id: Ibfc8172a4f752588ad96df0a6b0928e9b61fa27f Reviewed-on: https://go-review.googlesource.com/109341 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Russ Cox authored
These are no longer needed. Change-Id: Ie42a84f2bd24d2f59324bb66551c46e6af60c302 Reviewed-on: https://go-review.googlesource.com/109339 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Ingo Oeser authored
s/thread/thead/ as this is Table HEAD and not a thread as indicated by the closing tag an context this apears in. Change-Id: I3aa0cc95b96c9a594cb5a49713efa22d67e4990c Reviewed-on: https://go-review.googlesource.com/112675Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Elias Naur authored
Change-Id: I8e3077ab9c7dff66877ac00dc4600b53c07eb1f8 Reviewed-on: https://go-review.googlesource.com/112655Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Don't do direct loads from argument slots if the sizes don't match. This prevents us from loading from a float32 using a uint64 load during expressions like uint64(math.float32Bits(f)) where f is a float32 arg. Fixes #25322 Change-Id: I3887d76f78c844ba546243e7721d811c3d4a9700 Reviewed-on: https://go-review.googlesource.com/112637 Run-TryBot: Keith Randall <khr@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Agniva De Sarker authored
- Documented the duration parameter in Profile() to match with Trace(). - Properly handling the error from strconv.ParseInt to match with Trace(). - Updated the profiles tables to include additional handlers exposed from net/http/pprof. Added a separate section at the bottom to explain what the profiles are and how to use them. Fixes #24380 Change-Id: I8b7e100d6826a4feec81f29f918e7a7f7ccc71a0 Reviewed-on: https://go-review.googlesource.com/112495Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
-
Lynn Boger authored
Initialization of t.UInt is missing from SetTypPtrs in config.go, preventing rules that use it from matching when they should. This adds the initialization to allow those rules to work. Updated test/codegen/rotate.go to test for this case, which appears in math/bits RotateLeft32 and RotateLeft64. There had been a testcase for this in go 1.10 but that went away when asm_test.go was removed. Change-Id: I82fc825ad8364df6fc36a69a1e448214d2e24ed5 Reviewed-on: https://go-review.googlesource.com/112518 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ben Shi authored
Add more information to misc/android/README for developing arm and arm64 with an Android environment. Change-Id: I0c88996b6ab0c41946a2c7e69e9c92ec7bb3be27 Reviewed-on: https://go-review.googlesource.com/112276Reviewed-by: Elias Naur <elias.naur@gmail.com>
-
Richard Musiol authored
Offsets for Load and Store instructions have type i32. Bad index expression offsets can cause an offset to be larger than MaxUint32, which is not allowed. One example for this is the test test/index0.go. Generate valid code by adding a guard to the responsible rewrite rule. Also emit a proper error when using such a bad index in assembly code. Change-Id: Ie90adcbf3ae3861c26680eb81790f28692913ccf Reviewed-on: https://go-review.googlesource.com/111955 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
- 09 May, 2018 16 commits
-
-
Gustav Westling authored
This changes makes encoder.Close aware of how many bytes to write if there is any data left in the buffer. Fixes #25295 Change-Id: I4138891359935509cb561c453b8059ba2b9e576b GitHub-Last-Rev: f374096d2f3cae8635506074f59e1cd440c14844 GitHub-Pull-Request: golang/go#25316 Reviewed-on: https://go-review.googlesource.com/112515 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Gustav Westling authored
This changes decoder.Read to always return io.ErrUnexpectedEOF if the input contains surplus padding or unexpected content. Previously the error could be io.EOF or io.ErrUnexpectedEOF depending on how the input was chunked. Fixes #25296 Change-Id: I07c36c35e6c83e795c3991bfe45647a35aa58aa4 GitHub-Last-Rev: 818dfda90b0edf9fc415da4579c5810268c1cdba GitHub-Pull-Request: golang/go#25319 Reviewed-on: https://go-review.googlesource.com/112516 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Yury Smolsky authored
Non-main packages do not depend on the "runtime" package, but main packages still do. Use a main package in the test. This change passes the -i flag to the install command to allow installation of updated dependencies, and removes "install std" as unnecessary. https://golang.org/cl/107957 is relevant to fixed test. Updates #24436 Change-Id: If1845f37581a16ad77e72e50be21010e198bc7c5 Reviewed-on: https://go-review.googlesource.com/103675Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Bryan C. Mills authored
This change addresses the grammatical complexity described in https://groups.google.com/forum/#!topic/golang-dev/RmP-LMC3g58. Change-Id: Ib292b4ca9c880c7c1c8c992e7c033a0f8f951f2c Reviewed-on: https://go-review.googlesource.com/106855Reviewed-by: Robert Griesemer <gri@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Artyom Pervukhin authored
Section 2.2 of the referenced spec http://www.xml.com/axml/testaxml.htm defines 0xD7FF as a (sub)range boundary, not 0xDF77. Fixes #25172 Change-Id: Ic5a3328cd46ef6474b8e93c4a343dcfba0e6511f Reviewed-on: https://go-review.googlesource.com/109495 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Hana (Hyang-Ah) Kim authored
Change-Id: If431dfa59496b86f58f2ba2a83ca544a28a2a972 Reviewed-on: https://go-review.googlesource.com/112435Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
When using gccgo the standard library sources are not available in GOROOT. Don't expect them to be there. In the gccgo build, use a set of standard library packages generated at build time. Change-Id: Id133022604d9b7e778e73e8512f9080c61462fba Reviewed-on: https://go-review.googlesource.com/111595 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
-
Ian Lance Taylor authored
When we look for the tool ID to use for a compiler, force untranslated output so that we can match the literal string "version". Fixes https://gcc.gnu.org/PR84765 Change-Id: I607df445dbd3c5a7c3a6907601adcb039ac16fc1 Reviewed-on: https://go-review.googlesource.com/111575 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
-
Ian Lance Taylor authored
A number of cmd/go tests can never work with gccgo, for various different reasons. Skip those tests when using gccgo. Adjust some other tests to pass when using gccgo. Adjust one test to not skip when using gccgo, since it does work. Change-Id: I33b09558581a1e304416cf1c05a96f9526abba0e Reviewed-on: https://go-review.googlesource.com/110915 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
-
Ian Lance Taylor authored
This change was made to the gccgo sources as part of CL 47037. It is required to make the testcarchive and testcshared tests work. Otherwise using `go build -mode=c-archive -o libgo.a` will cause the header file to be named go.h rather than libgo.h. Change-Id: I2db1d7b0f575368b31273cc01097447a0471efd6 Reviewed-on: https://go-review.googlesource.com/111615 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com>
-
Michael Munday authored
Move ops can be faster than memmove calls because the number of bytes to be moved is fixed and they don't incur the overhead of a call. This change allows memmove to be converted into a Move op when the arguments are disjoint. The optimization is only enabled on s390x at the moment, however other architectures may also benefit from it in the future. The memmove inlining rule triggers an extra 12 times when compiling the standard library. It will most likely make more of a difference as the disjoint function is improved over time (to recognize fresh heap allocations for example). Change-Id: I9af570dcfff28257b8e59e0ff584a46d8e248310 Reviewed-on: https://go-review.googlesource.com/110064 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ilya Tocar <ilya.tocar@intel.com>
-
Elias Naur authored
The idevicedebugserverproxy command takes a port number without a flag, like so: idevicedebugserverproxy 3222 If the -u <device_id> flag is added afterwards, it is ignored and the command use an arbitrary device. Instead, always inject the -u flag before any other idevice command arguments. While here, also kill any leftover idevicedebugserverproxy instance previous (failed) runs might have left running. Change-Id: I0bf06ed1a20ef225abeca183f9ba8f396662d435 Reviewed-on: https://go-review.googlesource.com/112216 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Martin Möhrmann authored
Change-Id: Ia66361812837dde23aac09e916f058ba509a323c Reviewed-on: https://go-review.googlesource.com/111737 Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Daniel Martí authored
That was the intention with the existing code, but it was buggy; builtin functions aren't treated as values by types.TypeAndVal. Thus, we should use the IsBuiltin method instead of IsValue. Teaching vet what builtin funcs are pure is already being tracked as a separate issue, #22851. While at it, also add a test with methods, just to be sure that the current logic doesn't break with that edge case either. Fixes #25303. Change-Id: Ic18402b22cceeabf76641c02f575b194b9a536cc Reviewed-on: https://go-review.googlesource.com/112177 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Daniel Martí authored
text/template recently added support for passing untyped nil as function call arguments, as those would be mixed up with "missing argument" values before. See CL 95215. html/template now needs a small change to adapt to that new possibility. In particular, when printing values as JS bytes, its code was written under the assumption that the values would never be untyped nil - that is, the reflect.Value would always be valid. Short-circuit indirectToJSONMarshaler on an untyped nil, to avoid the panic and fall back to the existing " null " output. Before this change and on 1.10, printing a typed nil and an untyped nil resulted in: null "" After this change, one will get: null null Fixes #24717. Change-Id: I03cd10ef64b96e837bacc9ccf4cf25624d80de1c Reviewed-on: https://go-review.googlesource.com/109215 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rhys Hiltner <rhys@justin.tv> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Hana Kim authored
Change-Id: I9bd4e13aafce14f76606b0f96496f621232c9e37 Reviewed-on: https://go-review.googlesource.com/112198Reviewed-by: Peter Weinberger <pjw@google.com> Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 08 May, 2018 2 commits
-
-
Matt Juran authored
This test runs independent goroutines modifying a comprehensive variety of local vars to look for garbage collector regressions. This test has been verified to trigger issue 22781 on the go1.9.2 tag. This test expands on test/fixedbugs/issue22781.go. Tests #22781 Change-Id: Id32f8dde7ef650aea1b1b4cf518e6d045537bfdc Reviewed-on: https://go-review.googlesource.com/93715 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Martin Möhrmann authored
replace map clears of the form: for k := range m { delete(m, k) } (where m is map with key type that is reflexive for ==) with a new runtime function that clears the maps backing array with a memclr and reinitializes the hmap struct. Map key types that for example contain floats are not replaced by this optimization since NaN keys cannot be deleted from maps using delete. name old time/op new time/op delta GoMapClear/Reflexive/1 92.2ns ± 1% 47.1ns ± 2% -48.89% (p=0.000 n=9+9) GoMapClear/Reflexive/10 108ns ± 1% 48ns ± 2% -55.68% (p=0.000 n=10+10) GoMapClear/Reflexive/100 303ns ± 2% 110ns ± 3% -63.56% (p=0.000 n=10+10) GoMapClear/Reflexive/1000 3.58µs ± 3% 1.23µs ± 2% -65.49% (p=0.000 n=9+10) GoMapClear/Reflexive/10000 28.2µs ± 3% 10.3µs ± 2% -63.55% (p=0.000 n=9+10) GoMapClear/NonReflexive/1 121ns ± 2% 124ns ± 7% ~ (p=0.097 n=10+10) GoMapClear/NonReflexive/10 137ns ± 2% 139ns ± 3% +1.53% (p=0.033 n=10+10) GoMapClear/NonReflexive/100 331ns ± 3% 334ns ± 2% ~ (p=0.342 n=10+10) GoMapClear/NonReflexive/1000 3.64µs ± 3% 3.64µs ± 2% ~ (p=0.887 n=9+10) GoMapClear/NonReflexive/10000 28.1µs ± 2% 28.4µs ± 3% ~ (p=0.247 n=10+10) Fixes #20138 Change-Id: I181332a8ef434a4f0d89659f492d8711db3f3213 Reviewed-on: https://go-review.googlesource.com/110055Reviewed-by: Keith Randall <khr@golang.org>
-