- 27 Jun, 2018 13 commits
-
-
Ian Lance Taylor authored
The current implementation does not generate wrappers for methods of embedded non-interface types. We can only skip the wrapper if kindDirectIface of the generated struct type matches kindDirectIface of the embedded type. Panic if that is not the case. It would be better to actually generate wrappers, but that can be done later. Updates #15924 Fixes #24782 Change-Id: I01f5c76d9a07f44e1b04861bfe9f9916a04e65ca Reviewed-on: https://go-review.googlesource.com/121316Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Fraenkel authored
Allow a zone to be included with the ip address that is parsed when using DefaultResolver's LookupHost or LookupIPAddr Fixes #20790 Fixes #20767 Change-Id: I4e0baf9ade6a095af10a1b85ca6216788ba680ae Reviewed-on: https://go-review.googlesource.com/79935 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Richard Musiol authored
The new function js.TypedArrayOf returns a JavaScript typed array for a given slice. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays This change also changes js.ValueOf to not accept a []byte any more. Fixes #25532. Change-Id: I8c7bc98ca4e21c3514d19eee7a1f92388d74ab2a Reviewed-on: https://go-review.googlesource.com/121215 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Grégoire Delattre authored
The current resolver uses a global lookupGroup which merges LookupIPAddr calls together for lookups for the same hostname if used concurrently. As a result only one of the resolvers is actually used to perform the DNS lookup but the result is shared by all the resolvers. This commit limits the scope of the lookupGroup to the resolver itself allowing each resolver to make its own requests without sharing the result with other resolvers. Fixes #22908 Change-Id: Ibba896eebb05e59f18ce4132564ea1f2b4b6c6d9 Reviewed-on: https://go-review.googlesource.com/80775 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Vlad Krasnov authored
This patch ports the existing optimized P256 implementation to arm64. name old time/op new time/op delta pkg:crypto/ecdsa goos:linux goarch:arm64 SignP256 539µs ±13% 43µs ± 2% -91.95% (p=0.000 n=20+20) SignP384 13.2ms ± 1% 13.2ms ± 1% ~ (p=0.739 n=10+10) VerifyP256 1.57ms ± 0% 0.12ms ± 0% -92.40% (p=0.000 n=18+20) KeyGeneration 391µs ± 0% 25µs ± 0% -93.62% (p=0.000 n=9+9) pkg:crypto/elliptic goos:linux goarch:arm64 BaseMult 1.66ms ± 0% 1.65ms ± 1% ~ (p=0.079 n=9+10) BaseMultP256 389µs ± 0% 22µs ± 1% -94.28% (p=0.000 n=19+20) ScalarMultP256 1.03ms ± 0% 0.09ms ± 0% -91.25% (p=0.000 n=19+20) name old alloc/op new alloc/op delta pkg:crypto/ecdsa goos:linux goarch:arm64 SignP256 5.47kB ± 0% 3.20kB ± 0% -41.50% (p=0.000 n=20+20) SignP384 2.32MB ± 0% 2.32MB ± 0% ~ (p=0.739 n=10+10) VerifyP256 7.65kB ± 4% 0.98kB ± 0% -87.24% (p=0.000 n=20+20) KeyGeneration 1.41kB ± 0% 0.69kB ± 0% -51.05% (p=0.000 n=9+10) pkg:crypto/elliptic goos:linux goarch:arm64 BaseMult 224B ± 0% 224B ± 0% ~ (all equal) BaseMultP256 1.12kB ± 0% 0.29kB ± 0% -74.29% (p=0.000 n=20+20) ScalarMultP256 1.59kB ± 7% 0.26kB ± 0% -83.91% (p=0.000 n=20+20) name old allocs/op new allocs/op delta pkg:crypto/ecdsa goos:linux goarch:arm64 SignP256 67.0 ± 0% 35.0 ± 0% -47.76% (p=0.000 n=20+20) SignP384 17.5k ± 0% 17.5k ± 0% ~ (p=0.725 n=10+10) VerifyP256 97.2 ± 3% 17.0 ± 0% -82.52% (p=0.000 n=20+20) KeyGeneration 21.0 ± 0% 13.0 ± 0% -38.10% (p=0.000 n=10+10) pkg:crypto/elliptic goos:linux goarch:arm64 BaseMult 5.00 ± 0% 5.00 ± 0% ~ (all equal) BaseMultP256 16.0 ± 0% 6.0 ± 0% -62.50% (p=0.000 n=20+20) ScalarMultP256 19.9 ± 6% 5.0 ± 0% -74.87% (p=0.000 n=20+20) Fixes #22806 Change-Id: I0f187074f8c3069bf8692d59e2cf95bdc6061fe7 Reviewed-on: https://go-review.googlesource.com/99755 Run-TryBot: Vlad Krasnov <vlad@cloudflare.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brendan McMillion <brendan@cloudflare.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Updates #19761 Change-Id: Iac3bd4c40002f8e348452b50bff54dee3210d447 Reviewed-on: https://go-review.googlesource.com/121236Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
RFC 2045 doesn't permit non-ASCII bytes, but some systems send them anyhow. With this change, we accept them. This does make it harder to validate quotedprintable data, but on balance this seems like the best approach given the existence of systems that generate invalid data. Fixes #22597 Change-Id: I9f80f90a60b76ada2b5dea658b8dc8aace56cdbd Reviewed-on: https://go-review.googlesource.com/121095Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
At least on Darwin, if getaddrinfo can't open a file descriptor it returns EAI_NONAME ("no such host") rather than a meaningful error. Limit the number of concurrent getaddrinfo calls to the number of file descriptors we can open, to make that meaningless error less likely. We don't apply the same limit to Go lookups, because for that we will return a meaningful "too many open files" error. Fixes #25694 Change-Id: I601857190aeb64f11e22b4a834c1c6a722a0788d Reviewed-on: https://go-review.googlesource.com/121176Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Meir Fischer authored
Some headers, which are set or modified by the http library, are not written to the standard http.Request.Header and are not included as part of http.Response.Request.Header. Exposing all headers alleviates this problem. This is not a complete solution to 19761 since it does not have http/2 support. Updates #19761 Change-Id: Ie8d4f702f4f671666b120b332378644f094e288b Reviewed-on: https://go-review.googlesource.com/67430 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Cherry Zhang authored
On Wasm, the offset was not folded into LoweredAddr, so it was not rematerializeable. This led to the address-taken operation in some cases generated too early, before the local variable becoming live. The liveness code thinks the variable live when the address is taken, then backs it up to live at function entry, then complains about it, because nothing other than arguments should be live on entry. This CL folds the offset into the address operation, so it is rematerializeable and so generated right before use, after the variable actually becomes live. It might be possible to relax the liveness code not to think a variable live when its address being taken, but until the address actually being used. But it would be quite complicated. As we're late in Go 1.11 freeze, it would be better not to do it. Also, I think the address operation is rematerializeable now on all architectures, so this is probably less necessary. This may also be a slight optimization, as the address+offset is now rematerializeable, which can be generated on the Wasm stack, without using any "registers" which are emulated by local variables on Wasm. I don't know how to do benchmarks on Wasm. At least, cmd/go binary size shrinks 9K. Fixes #25966. Change-Id: I01e5869515d6a3942fccdcb857f924a866876e57 Reviewed-on: https://go-review.googlesource.com/120599 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Richard Musiol <neelance@gmail.com>
-
Ian Lance Taylor authored
This is the same retry loop we use in _cgo_try_pthread_create in runtime/cgo. Fixes #25078 Change-Id: I7ef4d4fc7fb89cbfb674c4f93cbdd7a033dd8983 Reviewed-on: https://go-review.googlesource.com/121096 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Fixes #21219 Change-Id: I1a2ec1afe06586ed33a3a855b77536490cac3a38 Reviewed-on: https://go-review.googlesource.com/121115 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
LE Manh Cuong authored
Fixes #26042 Change-Id: Ica16f14a65c03659a19926852cca5e554c99baf1 Reviewed-on: https://go-review.googlesource.com/120935Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 26 Jun, 2018 10 commits
-
-
Ian Lance Taylor authored
Revert the code changes of CL 96975 and CL 70931, but keep the tests, appropriately modified for the code changes. This restores the 1.9 handling of form-data entries with missing or empty file names. Changing the handling of this simply confused existing programs for no useful benefit. Go back to the old behavior. Updates #19183 Fixes #24041 Change-Id: I4ebc32433911e6360b9fd79d8f63a6d884822e0e Reviewed-on: https://go-review.googlesource.com/121055 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Mikio Hara authored
Also updates comment on isConnected field of netFD for clarification. Change-Id: Icb1b0332e3b4c7802eae00ddc26cd5ba54c82dc2 Reviewed-on: https://go-review.googlesource.com/120955 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Chase authored
No code changes, only revised comments in an attempt to make escape analysis slightly less confusing. Updates #23109. Change-Id: I5ee6cea0946ced63f6210ac4484a088bcdd862fb Reviewed-on: https://go-review.googlesource.com/121001 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Rowan Marshall authored
documentation. Fixes #25684. Change-Id: I9d0e47dff2446c27a3df88fb9ccfefef7419470b Reviewed-on: https://go-review.googlesource.com/120556Reviewed-by: Robert Griesemer <gri@golang.org>
-
Robert Griesemer authored
NewInterface2 was introduced with https://go-review.googlesource.com/114317 which fixed #25301. Changed the name to NewInterfaceType to better match Go naming styles, per discussion with @josharian, @iant, et al. Change-Id: Ifa4708a5efd4f708295b33c3d20fdc5812e1b4fc Reviewed-on: https://go-review.googlesource.com/120875Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Richard Musiol authored
This commit changes how JavaScript values are referenced by Go code. After this change, a JavaScript value is always represented by the same ref, even if passed multiple times from JavaScript to Go. This allows Go's == operator to work as expected on js.Value (strict equality). Additionally, the performance of some operations of the syscall/js package got improved by saving additional roundtrips to JavaScript code. Fixes #25802. Change-Id: Ide6ffe66c6aa1caf5327a2d3ddbe48fe7c180461 Reviewed-on: https://go-review.googlesource.com/120561 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Xargin authored
Change-Id: I589a60459a3b0811da77d46428eca57c741b1184 GitHub-Last-Rev: f9ab775b9d7f869916af6de9abb7c1d5f0005f1b GitHub-Pull-Request: golang/go#26063 Reviewed-on: https://go-review.googlesource.com/120917Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
Fixes #26025 Change-Id: I43b3c9019ca8d2844e4d664c2090e506b2171077 Reviewed-on: https://go-review.googlesource.com/120975Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alberto Donizetti authored
The abbreviations list in zoneinfo_abbrs_windows.go was last updated in June 2017, and it's currently outdated. Update it. Change-Id: Ie2bf4268787f5aefe98ee110c2c279451e18fd97 Reviewed-on: https://go-review.googlesource.com/120559 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Vladimir Kuzmin authored
Map delete must clear value every time because newly added map optimizations of compound-assignment operators (CL #91557) rely on this behavior of map delete. It slows down map delete operation for non-reference types: name old time/op new time/op delta MapDelete/Int32/100 23.9ns ± 2% 27.8ns ± 4% +16.04% (p=0.000 n=20+20) MapDelete/Int32/1000 21.5ns ± 2% 25.2ns ± 2% +17.06% (p=0.000 n=20+19) MapDelete/Int32/10000 24.2ns ± 6% 27.2ns ± 5% +12.39% (p=0.000 n=19+19) MapDelete/Int64/100 24.2ns ± 4% 27.7ns ± 2% +14.55% (p=0.000 n=20+20) MapDelete/Int64/1000 22.1ns ± 2% 24.8ns ± 2% +12.36% (p=0.000 n=10+20) Fixes #25936 Change-Id: I8499b790cb5bb019938161b3e50f3243d9bbb79c Reviewed-on: https://go-review.googlesource.com/120255 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Keith Randall <khr@golang.org>
-
- 25 Jun, 2018 10 commits
-
-
Andrew authored
cmd/go can sometimes take up to 400s on windows due to various issues (disk I/O on builders being the latest cause). Increase the timeout scale to account for this. Change-Id: I1fd4964472a70fb0f33cf6ed73298c034b9c1fb0 Reviewed-on: https://go-review.googlesource.com/120762 Run-TryBot: Andrew Bonventre <andybons@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Chase authored
For non-unit increment, loopbce checks to see if the increment evenly divides the difference between (constant) loop start and end. This test panics when the increment is zero. Fix: check for zero, if found, don't optimize the loop. Also added missing copyright notice to loopbce.go. Fixes #26043. Change-Id: I5f460104879cacc94481949234c9ce8c519d6380 Reviewed-on: https://go-review.googlesource.com/120759 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Fixes #26050 Change-Id: I21697ac30eb3bc423263cba885bce5fea8f81d94 Reviewed-on: https://go-review.googlesource.com/120796 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
Guilherme Goncalves authored
Beginning on Go 1.9, ServeMux has been dropping the port number from the Host header and in the path pattern. This commit explicitly mentions the change in behavior and adds a simple test case to ensure consistency. Fixes #23351. Change-Id: I0270c8bd96cda92c13ac6437cdf66c2807b3042d Reviewed-on: https://go-review.googlesource.com/120557Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Jeremy Jackins authored
Reword the package summary to be a little easier to read. Change-Id: I84a9301a02e228b46165410a429548b3774762d5 GitHub-Last-Rev: 1342c7219f0ed06144d3bca9acd77790707e4b77 GitHub-Pull-Request: golang/go#26052 Reviewed-on: https://go-review.googlesource.com/120795Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Andrew Bonventre authored
Previously, it would return an empty string if it could not determine the user's cache directory. Return an error instead. Change-Id: I74f00b1ad3858efa3fe2700c599271ebfe5764b6 Reviewed-on: https://go-review.googlesource.com/120757 Run-TryBot: Andrew Bonventre <andybons@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Andrew Bonventre authored
It will not be present in go1.11beta1 but will be present in subsequent releases. Change-Id: I298fb682945345bb4a34ec83802fd644f75bdd98 Reviewed-on: https://go-review.googlesource.com/120756Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Richard Musiol authored
This is so the values can not be changed and the type is easy to see. Requested on https://go-review.googlesource.com/c/go/+/120561. Change-Id: If2ed48ca3ba8874074687bfb2375d2f5592e8e0d Reviewed-on: https://go-review.googlesource.com/120564Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Richard Musiol authored
Change-Id: Icf56188fdb2b8ce6789830a35608203fdb9a3df6 Reviewed-on: https://go-review.googlesource.com/120560Reviewed-by: Paul Jolly <paul@myitcv.org.uk> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Nikhil Benesch authored
semasleep on Darwin was refactored in https://golang.org/cl/118736 to use the pthread_cond_timedwait function from libc. The new code incorrectly assumed that pthread_cond_timedwait took a timeout relative to the current time, when it in fact it takes a timeout specified in absolute time. semasleep thus specified a timeout well in the past, causing it to immediately exceed the timeout and spin hot. This was the source of a large performance hit to CockroachDB (#26019). Adjust semasleep to instead call pthread_cond_timedwait_relative_np, which properly interprets its timeout parameter as relative to the current time. pthread_cond_timedwait_relative_np is non-portable, but using pthread_cond_timedwait correctly would require two calls to gettimeofday: one in the runtime package to convert the relative timeout to absolute time, then another in the pthread library to convert back to a relative offset [0], as the Darwin kernel expects a relative offset. [0]: https://opensource.apple.com/source/libpthread/libpthread-301.30.1/src/pthread_cond.c.auto.html Fix #26019. Change-Id: I1a8c2429f79513b43d2b256365cd9166d235af8b Reviewed-on: https://go-review.googlesource.com/120635Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 24 Jun, 2018 1 commit
-
-
Alberto Donizetti authored
This change fixes a typo in doc/contribute.html (afects -> affects) and rewords a few slightly akward sentences. Change-Id: I6bfbacba0de29464fce134b0fdaf3898a97b8d57 Reviewed-on: https://go-review.googlesource.com/120105Reviewed-by: Rob Pike <r@golang.org>
-
- 23 Jun, 2018 1 commit
-
-
Michael Hudson-Doyle authored
Add a test by making misc/cgo/testshared/src/trivial.go marginally less trivial. Fixes #25970. Change-Id: I8815d0c56b8850fcdbf9b45f8406f37bd21b6865 Reviewed-on: https://go-review.googlesource.com/120235 Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 22 Jun, 2018 5 commits
-
-
Andrew Bonventre authored
Change-Id: Ib8fa0a12363993033201ff707c315f4030811f89 Reviewed-on: https://go-review.googlesource.com/120595 Run-TryBot: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Heschi Kreinick authored
We want to compress DWARF even on macOS, but the native toolchain isn't going to understand it. Add a flag that can be used to disable compression, then add Darwin to the whitelist used during internal linking. Unlike GNU ld, the Darwin linker doesn't have a handy linker flag to do compression. But since we're already doing surgery to put the DWARF in the output executable in the first place, compressing it at the same time isn't unduly difficult. This does have the slightly odd effect of compressing some Apple proprietary debug sections, which absolutely nothing will understand. Leaving them uncompressed didn't make much sense, though, since I doubt they're useful without (say) __debug_info. Updates #11799 Change-Id: Ie00b0215c630a798c59d009a641e2d13f0e7ea01 Reviewed-on: https://go-review.googlesource.com/120155 Run-TryBot: Heschi Kreinick <heschi@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Brad Fitzpatrick authored
Fixes #26014 Change-Id: I9d92414a9181c5d189e3e266666950656bf00406 Reviewed-on: https://go-review.googlesource.com/120576 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
After the std tests, most of the rest of the tests aren't applicable to js/wasm. (anything with -cpu=>1, cgo, etc) Skip them all for now. We can incrementally re-enable them over time as the js/wasm port is fleshed out. But let's get the builder column black again so we can enable trybots and keep it black. Updates #26014 Updates #26015 Updates #18892 Change-Id: I8992ed3888f598fa42273ce8646a32d62ce45b1d Reviewed-on: https://go-review.googlesource.com/120575 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
Matthew Dempsky authored
If expanding an inline function body required lazily expanding a package-scoped type whose identifier was shadowed within the function body, the lazy expansion would instead overwrite the local symbol definition instead of the package-scoped symbol. This was due to importsym using s.Def instead of s.PkgDef. Unfortunately, this is yet another consequence of the current awkward scope handling code. Passes toolstash-check. Fixes #25984. Change-Id: Ia7033e1749a883e6e979c854d4b12b0b28083dd8 Reviewed-on: https://go-review.googlesource.com/120456 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Robert Griesemer <gri@golang.org>
-