- 29 Aug, 2016 2 commits
-
-
Emmanuel Odeke authored
Fixes #16911. Fix obsolete inferno-os links, since code.google.com shutdown. This CL points to the right files by replacing http://code.google.com/p/inferno-os/source/browse with https://bitbucket.org/inferno-os/inferno-os/src/default To implement the change I wrote and ran this script in the root: $ grep -Rn 'http://code.google.com/p/inferno-os/source/browse' * \ | cut -d":" -f1 | while read F;do perl -pi -e \ 's/http:\/\/code.google.com\/p\/inferno-os\/source\/browse/https:\/\/bitbucket.org\/inferno-os\/inferno-os\/src\/default/g' $F;done I excluded any cmd/vendor changes from the commit. Change-Id: Iaaf828ac8f6fc949019fd01832989d00b29b6749 Reviewed-on: https://go-review.googlesource.com/27994Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Giovanni Bajo authored
The previous template used an ordered list, but the formatting always breaks when users paste quoted snippets of code or command outputs. It is also harder to visually parse because items in ordered lists are only indented but not highlighted in any way. Change-Id: I73c89e9f0465aef41093f5c54d11bb0d12ff8c8d Reviewed-on: https://go-review.googlesource.com/27252Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 28 Aug, 2016 6 commits
-
-
Cherry Zhang authored
Fixes #16903. Change-Id: I1f6fcd57e14b2b62e208b7bb3adccd5fd7f8bdbc Reviewed-on: https://go-review.googlesource.com/27933 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Radu Berinde authored
When SSE is available, we don't need the Table. However, it is returned as a handle by MakeTable. Fix this to always generate the table. Further cleanup is discussed in #16909. Change-Id: Ic05400d68c6b5d25073ebd962000451746137afc Reviewed-on: https://go-review.googlesource.com/27934Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Keith Randall authored
Atomic add rules were depending on CSE to combine duplicate atomic ops. With -N, CSE doesn't run. Redo the rules for atomic add so there's only one atomic op. Introduce an add-to-first-part-of-tuple pseudo-ops to make the atomic add result correct. Change-Id: Ib132247051abe5f80fefad6c197db8df8ee06427 Reviewed-on: https://go-review.googlesource.com/27991 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Keith Randall authored
Atomic swap, add/and/or, compare and swap. Also works on amd64p32. Change-Id: Idf2d8f3e1255f71deba759e6e75e293afe4ab2ba Reviewed-on: https://go-review.googlesource.com/27813Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Alex Brainman authored
genzabbrs.go uses whatever zoneinfo database available on the system. This makes genzabbrs.go output change from system to system. Adjust go:generate line to always use $GOROOT/lib/time/zoneinfo.zip, so it does not matter who runs the command. Also move go:generate line into zoneinfo.go, so it can be run on Unix (see #16368 for details). Fixes #15802. Change-Id: I8ae4818aaf40795364e180d7bb4326ad7c07c370 Reviewed-on: https://go-review.googlesource.com/27832Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Radu Berinde authored
The algorithm is explained in the comments. The improvement in throughput is about 1.4x for buffers between 500b-4Kb and 2.5x-2.6x for larger buffers. Additionally, we no longer initialize the software tables if SSE4.2 is available. Adding a test for the SSE implementation (restricted to amd64 and amd64p32). Benchmarks on a Haswell i5-4670 @ 3.4 GHz: name old time/op new time/op delta CastagnoliCrc15B-4 21.9ns ± 1% 22.9ns ± 0% +4.45% CastagnoliCrc15BMisaligned-4 22.6ns ± 0% 23.4ns ± 0% +3.43% CastagnoliCrc40B-4 23.3ns ± 0% 23.9ns ± 0% +2.58% CastagnoliCrc40BMisaligned-4 25.4ns ± 0% 26.1ns ± 0% +2.86% CastagnoliCrc512-4 72.6ns ± 0% 52.8ns ± 0% -27.33% CastagnoliCrc512Misaligned-4 76.3ns ± 1% 56.3ns ± 0% -26.18% CastagnoliCrc1KB-4 128ns ± 1% 89ns ± 0% -30.04% CastagnoliCrc1KBMisaligned-4 130ns ± 0% 88ns ± 0% -32.65% CastagnoliCrc4KB-4 461ns ± 0% 187ns ± 0% -59.40% CastagnoliCrc4KBMisaligned-4 463ns ± 0% 191ns ± 0% -58.77% CastagnoliCrc32KB-4 3.58µs ± 0% 1.35µs ± 0% -62.22% CastagnoliCrc32KBMisaligned-4 3.58µs ± 0% 1.36µs ± 0% -61.84% name old speed new speed delta CastagnoliCrc15B-4 684MB/s ± 1% 655MB/s ± 0% -4.32% CastagnoliCrc15BMisaligned-4 663MB/s ± 0% 641MB/s ± 0% -3.32% CastagnoliCrc40B-4 1.72GB/s ± 0% 1.67GB/s ± 0% -2.69% CastagnoliCrc40BMisaligned-4 1.58GB/s ± 0% 1.53GB/s ± 0% -2.82% CastagnoliCrc512-4 7.05GB/s ± 0% 9.70GB/s ± 0% +37.59% CastagnoliCrc512Misaligned-4 6.71GB/s ± 1% 9.09GB/s ± 0% +35.43% CastagnoliCrc1KB-4 7.98GB/s ± 1% 11.46GB/s ± 0% +43.55% CastagnoliCrc1KBMisaligned-4 7.86GB/s ± 0% 11.70GB/s ± 0% +48.75% CastagnoliCrc4KB-4 8.87GB/s ± 0% 21.80GB/s ± 0% +145.69% CastagnoliCrc4KBMisaligned-4 8.83GB/s ± 0% 21.39GB/s ± 0% +142.25% CastagnoliCrc32KB-4 9.15GB/s ± 0% 24.22GB/s ± 0% +164.62% CastagnoliCrc32KBMisaligned-4 9.16GB/s ± 0% 24.00GB/s ± 0% +161.94% Fixes #16107. Change-Id: Ibe50ea76574674ce0571ef31c31015e0ed66b907 Reviewed-on: https://go-review.googlesource.com/27931 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 27 Aug, 2016 4 commits
-
-
Joonas Kuorilehto authored
Add support for writing TLS client random and master secret in NSS key log format. https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format Normally this is enabled by a developer debugging TLS based applications, especially HTTP/2, by setting the KeyLogWriter to an open file. The keys negotiated in handshake are then logged and can be used to decrypt TLS sessions e.g. in Wireshark. Applications may choose to add support similar to NSS where this is enabled by environment variable, but no such mechanism is built in to Go. Instead each application must explicitly enable. Fixes #13057. Change-Id: If6edd2d58999903e8390b1674ba4257ecc747ae1 Reviewed-on: https://go-review.googlesource.com/27434 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
This reverts commit 54d7de7d. It was breaking non-amd64 builds. Change-Id: I22650e922498eeeba3d4fa08bb4ea40a210c8f97 Reviewed-on: https://go-review.googlesource.com/27925Reviewed-by: Keith Randall <khr@golang.org>
-
Radu Berinde authored
The algorithm is explained in the comments. The improvement in throughput is about 1.4x for buffers between 500b-4Kb and 2.5x-2.6x for larger buffers. Additionally, we no longer initialize the software tables if SSE4.2 is available. Benchmarks on a Haswell i5-4670 @ 3.4 GHz: name old time/op new time/op delta CastagnoliCrc15B-4 21.9ns ± 1% 22.9ns ± 0% +4.45% CastagnoliCrc15BMisaligned-4 22.6ns ± 0% 23.4ns ± 0% +3.43% CastagnoliCrc40B-4 23.3ns ± 0% 23.9ns ± 0% +2.58% CastagnoliCrc40BMisaligned-4 25.4ns ± 0% 26.1ns ± 0% +2.86% CastagnoliCrc512-4 72.6ns ± 0% 52.8ns ± 0% -27.33% CastagnoliCrc512Misaligned-4 76.3ns ± 1% 56.3ns ± 0% -26.18% CastagnoliCrc1KB-4 128ns ± 1% 89ns ± 0% -30.04% CastagnoliCrc1KBMisaligned-4 130ns ± 0% 88ns ± 0% -32.65% CastagnoliCrc4KB-4 461ns ± 0% 187ns ± 0% -59.40% CastagnoliCrc4KBMisaligned-4 463ns ± 0% 191ns ± 0% -58.77% CastagnoliCrc32KB-4 3.58µs ± 0% 1.35µs ± 0% -62.22% CastagnoliCrc32KBMisaligned-4 3.58µs ± 0% 1.36µs ± 0% -61.84% name old speed new speed delta CastagnoliCrc15B-4 684MB/s ± 1% 655MB/s ± 0% -4.32% CastagnoliCrc15BMisaligned-4 663MB/s ± 0% 641MB/s ± 0% -3.32% CastagnoliCrc40B-4 1.72GB/s ± 0% 1.67GB/s ± 0% -2.69% CastagnoliCrc40BMisaligned-4 1.58GB/s ± 0% 1.53GB/s ± 0% -2.82% CastagnoliCrc512-4 7.05GB/s ± 0% 9.70GB/s ± 0% +37.59% CastagnoliCrc512Misaligned-4 6.71GB/s ± 1% 9.09GB/s ± 0% +35.43% CastagnoliCrc1KB-4 7.98GB/s ± 1% 11.46GB/s ± 0% +43.55% CastagnoliCrc1KBMisaligned-4 7.86GB/s ± 0% 11.70GB/s ± 0% +48.75% CastagnoliCrc4KB-4 8.87GB/s ± 0% 21.80GB/s ± 0% +145.69% CastagnoliCrc4KBMisaligned-4 8.83GB/s ± 0% 21.39GB/s ± 0% +142.25% CastagnoliCrc32KB-4 9.15GB/s ± 0% 24.22GB/s ± 0% +164.62% CastagnoliCrc32KBMisaligned-4 9.16GB/s ± 0% 24.00GB/s ± 0% +161.94% Fixes #16107. Change-Id: I8fa827ec03f708ba27ee71c833f7544ad9dc5bc3 Reviewed-on: https://go-review.googlesource.com/24471Reviewed-by: Keith Randall <khr@golang.org>
-
Robert Griesemer authored
Fixes indenting in debug output like -W. Change-Id: Ia16b0bad47428cee71fe036c297731e841ec9ca0 Reviewed-on: https://go-review.googlesource.com/27924Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 26 Aug, 2016 23 commits
-
-
Matthew Dempsky authored
This reverts commit 8fb08933. Broke go/ast tests. Change-Id: I5c314cb29731d4bc3a0873af8ebfe376f5faba8a Reviewed-on: https://go-review.googlesource.com/27923Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Change-Id: I9e99289070d63a2509aec1e91b9dd7437a08af5e Reviewed-on: https://go-review.googlesource.com/27921Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Change-Id: I7376c3bb55529a575e74985c2d7f0cf07c8996e7 Reviewed-on: https://go-review.googlesource.com/27920Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Josh Bleecher Snyder authored
Fixes #16378. Change-Id: I99a064f1afec78fb63cb3719061d20be0f21d45d Reviewed-on: https://go-review.googlesource.com/24930 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
Change-Id: If11d328101a82de5ead04159d3085e3d59869283 Reviewed-on: https://go-review.googlesource.com/27919Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Change-Id: Iec33775ff5a786f6c52024d592f634231acf91c0 Reviewed-on: https://go-review.googlesource.com/27918Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Change-Id: Ib30ed686448c4c0a5777cdf1d505ea06eb8b2a47 Reviewed-on: https://go-review.googlesource.com/27917Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Starting point for uniform use of printer in fmt.go. It provides a hook to store additional state (and remove global variables) and should also be more efficient and cleaner than the mix of string concatenation and bytes.Buffer use we have now. Change-Id: I72de14b01850cca32d407a1cb16c894179ea8848 Reviewed-on: https://go-review.googlesource.com/27916Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
The Go1.7 export format didn't encode the field package for blank struct fields (#15514). Re-introduce support for that format so we can read it w/o error. For #16881. Change-Id: Ib131d41aac56dbf970aab15ae7e75ef3944b412d Reviewed-on: https://go-review.googlesource.com/27912Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Port of changes made to compiler in https://go-review.googlesource.com/27814. Correctly handle export format version 0 (we only do this in x/tools/gcimporter15 at the moment - this is a backport of that code for struct fields). Added tests for version handling and detection of corrupted export data. Fixes #16881. Change-Id: I246553c689c89ef5c7fedd1e43717504c2838804 Reviewed-on: https://go-review.googlesource.com/27816Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
David Crawshaw authored
For reasons I have forgotten typelinksinit processed modules backwards. (I suspect this was an attempt to process types in the executing binary first.) It does not appear to be necessary, and it is not the order we want when a module can be loaded at an arbitrary point during a program's execution as a plugin. So reverse the order. While here, make it safe to call typelinksinit multiple times. Change-Id: Ie10587c55c8e5efa0542981efb6eb3c12dd59e8c Reviewed-on: https://go-review.googlesource.com/27822Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
This will allow it to depend on whether plugin.Open is a symbol to be linked in. Change-Id: Ie9aa4216f2510fe8b10bc4665c8b19622b7122ea Reviewed-on: https://go-review.googlesource.com/27819Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Cherry Zhang authored
Add the following optimizations: - fold constants - fold address into load/store - simplify extensions and conditional branches - remove nil checks Turn on SSA on MIPS64 by default, and toggle the tests. Fixes #16359. Change-Id: I7f1e38c2509e22e42cd024e712990ebbe47176bd Reviewed-on: https://go-review.googlesource.com/27870 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Munday authored
Use the FIDBR instruction to round floating-point numbers to integers. name old time/op new time/op delta Ceil 14.1ns ± 0% 3.0ns ± 0% -78.89% (p=0.000 n=10+10) Floor 6.42ns ± 0% 3.03ns ± 0% -52.80% (p=0.000 n=10+10) Trunc 6.67ns ± 0% 3.03ns ± 0% -54.57% (p=0.000 n=10+9) Change-Id: I3b416f6d0bccaaa9b547de86356471365862399c Reviewed-on: https://go-review.googlesource.com/27827Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Munday authored
FIDBR and FIEBR can be used for floating-point to integer rounding. The relevant functions (Ceil, Floor and Trunc) will be updated in a future CL. Change-Id: I5952d67ab29d5ef8923ff1143e17a8d30169d692 Reviewed-on: https://go-review.googlesource.com/27826Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Munday authored
Adds the following s390x instructions from the interlocked access facility: * LAA(G) - load and add * LAAL(G) - load and add logical * LAN(G) - load and and * LAX(G) - load and exclusive or * LAO(G) - load and or These instructions can be used for atomic arithmetic/logical operations. The atomic packages will be updated in future CLs. Change-Id: Idc850ac6749b3e778fda3da66bcd864f6b1df375 Reviewed-on: https://go-review.googlesource.com/27871Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David Crawshaw authored
The compiler was canonicalizing unnamed types of the form struct { i int } across packages, even though an unexported field i should not be accessible from other packages. The fix requires both qualifying the field name in the string used by the compiler to distinguish the type, and ensuring the struct's pkgpath is set in the rtype version of the data when the type being written is not part of the localpkg. Fixes #16616 Change-Id: Ibab160b8b5936dfa47b17dbfd48964a65586785b Reviewed-on: https://go-review.googlesource.com/27791 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Hiroshi Ioka authored
https://go-review.googlesource.com/#/c/27580 added the test. However the test use syscall.ELOOP which is not defined on plan9. Move test code from "os_test.go" to "os_windows_test.go" to prevent build error. Change-Id: Ie7f05bfb9ab229e06a8e82a4b3b8a7ca82d4663b Reviewed-on: https://go-review.googlesource.com/27833 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David du Colombier <0intro@gmail.com> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Robert Griesemer authored
For #16874. Change-Id: I2e13f582297606e506d805755a6cfc1f3d4306a2 Reviewed-on: https://go-review.googlesource.com/27817Reviewed-by: Rob Pike <r@golang.org>
-
Hiroshi Ioka authored
The Windows version of Stat calls Readlink iteratively until reaching a non-symlink file. If the given file is a circular symlink, It never stops. This CL defines the maximum number of symlink loop count. If the loop count will exceed that number, Stat will return error. Fixes #16538 Change-Id: Ia9f3f2259a8d32801461c5041cc24a34f9f81009 Reviewed-on: https://go-review.googlesource.com/27580 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Robert Griesemer authored
Import errors due to unexpected format are virtually always due to version skew. Don't panic but report a good error message (incl. hint that the imported package needs to be reinstalled) if not in debugFormat mode. Recognize export data format version and store it so it can be used to automatically handle minor version differences. We did this before, but not very well. No export data format changes. Manually tested with corrupted export data. For #16881. Change-Id: I53ba98ef747b1c81033a914bb61ee52991f35a90 Reviewed-on: https://go-review.googlesource.com/27814Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Michael Hudson-Doyle authored
As far as I can tell, this check has been non-functional since it was introduced. This cuts 57k off cmd/go and 70k off cmd/compile. Based on golang.org/cl/24710 by Josh Bleecher Snyder. Change-Id: I1162a066971df1a067b50afa1cfa0819a6913574 Reviewed-on: https://go-review.googlesource.com/27830Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Josh Bleecher Snyder authored
Fixes the build. Change-Id: I34bcae08cfb43257aeb9086336966ef85f15fe1d Reviewed-on: https://go-review.googlesource.com/27815Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
- 25 Aug, 2016 5 commits
-
-
Josh Bleecher Snyder authored
Updates #11041 Change-Id: Ia0151723e3bc0d163cc687a02bfc5e0285d95ffa Reviewed-on: https://go-review.googlesource.com/27810 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Keith Randall authored
Inline atomic reads and writes on amd64. There's no reason to pay the overhead of a call for these. To keep atomic loads from being reordered, we make them return a <value,memory> tuple. Change the meaning of resultInArg0 for tuple-generating ops to mean the first part of the result tuple, not the second. This means we can always put the store part of the tuple last, matching how arguments are laid out. This requires reordering the outputs of add32carry and sub32carry and their descendents in various architectures. benchmark old ns/op new ns/op delta BenchmarkAtomicLoad64-8 2.09 0.26 -87.56% BenchmarkAtomicStore64-8 7.54 5.72 -24.14% TBD (in a different CL): Cas, Or8, ... Change-Id: I713ea88e7da3026c44ea5bdb56ed094b20bc5207 Reviewed-on: https://go-review.googlesource.com/27641Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Josh Bleecher Snyder authored
Add missing function prototypes. Fix function prototypes. Use FP references instead of SP references. Fix variable names. Update comments. Clean up whitespace. (Not for vet.) All fairly minor fixes to make vet happy. Updates #11041 Change-Id: Ifab2cdf235ff61cdc226ab1d84b8467b5ac9446c Reviewed-on: https://go-review.googlesource.com/27713 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Joe Tsai authored
Factor out the regular file handling logic into handleRegularFile from nextHeader. We will need to reuse this logic when fixing #15573 in a future CL. Factor out the sparse file handling logic into handleSparseFile. Currently this logic is split between nextHeader (for GNU sparse files) and Next (for PAX sparse files). Instead, we move this related code into a single method. There is no overall logic change. Thus, no unit tests. Updates #15573 #15564 Change-Id: I3b8270d8b4e080e77d6c0df6a123d677c82cc466 Reviewed-on: https://go-review.googlesource.com/27454Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Sina Siadat authored
RFC 7233, section 4.4 says: >>> For byte ranges, failing to overlap the current extent means that the first-byte-pos of all of the byte-range-spec values were greater than the current length of the selected representation. When this status code is generated in response to a byte-range request, the sender SHOULD generate a Content-Range header field specifying the current length of the selected representation <<< Thus, we should send the Content-Range only if none of the ranges overlap. Fixes #15798. Change-Id: Ic9a3e1b3a8730398b4bdff877a8f2fd2e30149e3 Reviewed-on: https://go-review.googlesource.com/24212 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-