- 09 Feb, 2017 21 commits
-
-
Josh Bleecher Snyder authored
Pick up a few pennies: * CSE gets run twice for each function, but the set of Aux values doesn't change. Avoid populating it twice. * Don't bother populating auxmap for values that can't be CSE'd anyway. name old alloc/op new alloc/op delta Template 41.0MB ± 0% 40.7MB ± 0% -0.61% (p=0.008 n=5+5) Unicode 32.3MB ± 0% 32.3MB ± 0% -0.22% (p=0.008 n=5+5) GoTypes 122MB ± 0% 121MB ± 0% -0.55% (p=0.008 n=5+5) Compiler 482MB ± 0% 479MB ± 0% -0.58% (p=0.008 n=5+5) SSA 865MB ± 0% 862MB ± 0% -0.35% (p=0.008 n=5+5) Flate 26.5MB ± 0% 26.5MB ± 0% ~ (p=0.056 n=5+5) GoParser 32.6MB ± 0% 32.4MB ± 0% -0.58% (p=0.008 n=5+5) Reflect 84.2MB ± 0% 83.8MB ± 0% -0.57% (p=0.008 n=5+5) Tar 27.7MB ± 0% 27.6MB ± 0% -0.37% (p=0.008 n=5+5) XML 44.7MB ± 0% 44.5MB ± 0% -0.53% (p=0.008 n=5+5) name old allocs/op new allocs/op delta Template 373k ± 0% 373k ± 1% ~ (p=1.000 n=5+5) Unicode 326k ± 0% 325k ± 0% ~ (p=0.548 n=5+5) GoTypes 1.16M ± 0% 1.16M ± 0% ~ (p=0.841 n=5+5) Compiler 4.16M ± 0% 4.15M ± 0% ~ (p=0.222 n=5+5) SSA 7.57M ± 0% 7.56M ± 0% -0.22% (p=0.008 n=5+5) Flate 238k ± 1% 239k ± 1% ~ (p=0.690 n=5+5) GoParser 304k ± 0% 304k ± 0% ~ (p=1.000 n=5+5) Reflect 1.01M ± 0% 1.00M ± 0% -0.31% (p=0.016 n=4+5) Tar 245k ± 0% 245k ± 1% ~ (p=0.548 n=5+5) XML 393k ± 0% 391k ± 1% ~ (p=0.095 n=5+5) Change-Id: I78f1ffe129bd8fd590b7511717dd2bf9f5ecbd6d Reviewed-on: https://go-review.googlesource.com/36690 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Paulo Flabiano Smorigo authored
Add asm implementation for AES in order to make use of VMX cryptographic acceleration instructions for POWER8. There is a speed boost of over 10 times using those instructions: Fixes #18076 old ns/op new ns/op delta BenchmarkEncrypt-20 337 30.3 -91.00% BenchmarkDecrypt-20 347 30.5a -91.21% BenchmarkExpand-20 1180 130 -88.98% old MB/s new MB/s speedup BenchmarkEncrypt-20 47.38 527.68 11.13x BenchmarkDecrypt-20 46.05 524.45 11.38x Change-Id: Ifa4d1b508f4803cc72dcaad97acc8495d651b019 Reviewed-on: https://go-review.googlesource.com/33587 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
-
Adam Langley authored
There's no need to hold the handshake lock across this call and it can lead to deadlocks if the net.Conn calls back into the tls.Conn. Fixes #18426. Change-Id: Ib1b2813cce385949d970f8ad2e52cfbd1390e624 Reviewed-on: https://go-review.googlesource.com/36561 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Lynn Boger authored
Currently there are cases where an XOR with -1 followed by an AND is generanted when it could be done with just an ANDN instruction. Changes to PPC64.rules and required files allows this change in generated code. Examples of this occur in sha3 among others. Fixes: #18918 Change-Id: I647cb9b4a4aaeebb27db85f8bf75487d78f720c9 Reviewed-on: https://go-review.googlesource.com/36218 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Reviewed-by: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
-
Ian Lance Taylor authored
This ensures that SIGPROF is handled correctly when using runtime/pprof in a c-archive or c-shared library. Separate profiler handling into pre-process changes and per-thread changes. Simplify the Windows code slightly accordingly. Fixes #18220. Change-Id: I5060f7084c91ef0bbe797848978bdc527c312777 Reviewed-on: https://go-review.googlesource.com/34018 TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com>
-
Adam Langley authored
Change-Id: I67589cb9e728e6c7df5ef6e981189193154338d3 Reviewed-on: https://go-review.googlesource.com/36559Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Adam Langley authored
Fixes #18899. Change-Id: I6a4bf0aad9cf1dbe6691ba4e4c478fcb33c44528 Reviewed-on: https://go-review.googlesource.com/36558Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Adam Langley authored
Change-Id: I20f4419ca377ee9428075e42db0bad46a75d983f Reviewed-on: https://go-review.googlesource.com/36557Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Adam Langley authored
The AuthorityKeyId value from the template was used by CreateCertificate, but that wasn't documented. Also, CreateCertificate would stash a value in the template if it needed to override it, which was wrong: template should be read-only. Fixes #18962. Change-Id: Ida15c54c341e5bbf553756e8aa65021d8085f453 Reviewed-on: https://go-review.googlesource.com/36556Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Francesc Campoy authored
It seems that it is not needed to import the pseudo package "C" for the plugin to be built correctly. Removing it to avoid confusion. Change-Id: I62838a953ad2889881bfbfd1a36141661565f033 Reviewed-on: https://go-review.googlesource.com/36638Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Sameer Ajmani authored
Update syscall code generators to set build tags. Regenerate zsyscall files, which makes the following changes: - remove calls to "use" - update build tags, adding missing ones in some cases - "stat" renamed to "st" in some cases - "libc_Utimes" renamed "libc_utimes" in one case I'll mirror this change to x/sys/unix once committed. Change-Id: Ic07e0ae1433dd133eb57e8dd2a3b86a62aab4eda Reviewed-on: https://go-review.googlesource.com/36616Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Carlos Eduardo Seo authored
This change adds instructions from ISA 2.05, 2.06 and 2.07 that are frequently used in assembly optimizations for ppc64. It also fixes two problems: * the implementation of RLDICR[CC]/RLDICL[CC] did not consider all possible cases for the bit mask. * removed two non-existing instructions that were added by mistake in the VMX implementation (VORL/VANDL). Change-Id: Iaef4e5c6a5240c2156c6c0f28ad3bcd8780e9830 Reviewed-on: https://go-review.googlesource.com/36230 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
-
Russ Cox authored
Fixes #18816. Change-Id: I4f8f1cac2680dbde492c56d3a5a038577605e7c1 Reviewed-on: https://go-review.googlesource.com/36542 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
Fetch both monotonic and wall time together when possible. Avoids skew and is cheaper. Also shave a few ns off in conversion in package time. Compared to current implementation (after monotonic changes): name old time/op new time/op delta Now 19.6ns ± 1% 9.7ns ± 1% -50.63% (p=0.000 n=41+49) darwin/amd64 Now 23.5ns ± 4% 10.6ns ± 5% -54.61% (p=0.000 n=30+28) windows/amd64 Now 54.5ns ± 5% 29.8ns ± 9% -45.40% (p=0.000 n=27+29) windows/386 More importantly, compared to Go 1.8: name old time/op new time/op delta Now 9.5ns ± 1% 9.7ns ± 1% +1.94% (p=0.000 n=41+49) darwin/amd64 Now 12.9ns ± 5% 10.6ns ± 5% -17.73% (p=0.000 n=30+28) windows/amd64 Now 15.3ns ± 5% 29.8ns ± 9% +94.36% (p=0.000 n=30+29) windows/386 This brings time.Now back in line with Go 1.8 on darwin/amd64 and windows/amd64. It's not obvious why windows/386 is still noticeably worse than Go 1.8, but it's better than before this CL. The windows/386 speed is not too important; the changes just keep the two architectures similar. Change-Id: If69b94970c8a1a57910a371ee91e0d4e82e46c5d Reviewed-on: https://go-review.googlesource.com/36428 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mikio Hara authored
Change-Id: I97981b30a9629916f896cb989cc2a42a8bdbef47 Reviewed-on: https://go-review.googlesource.com/36672 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Mikio Hara authored
Change-Id: I451b33d8da8d97917f2b257e6a25392c6e6582db Reviewed-on: https://go-review.googlesource.com/36671 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
Starting the error message with "expecting" rather than "missing" causes the syntax error mechanism to add additional helpful info (it recognizes "expecting" but not "missing"). Fixes #17328. Change-Id: I8482ca5e5a6a6b22e0ed0d831b7328e264156334 Reviewed-on: https://go-review.googlesource.com/36637 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Caleb Spare authored
Fixes #18993 Change-Id: Ia1fa20b6d82384b07e9ba5512b909439e0bec2a5 Reviewed-on: https://go-review.googlesource.com/36611 Run-TryBot: Caleb Spare <cespare@gmail.com> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Robert Griesemer authored
Towards better syntax error messages: With this change, the parser knows whether a semicolon was an actual ';' in the source, or whether it was an automatically inserted semicolon as result of a '\n' or EOF. Using this information in error messages makes them more understandable. For #17328. Change-Id: I8cd9accee8681b62569d0ecef922d38682b401eb Reviewed-on: https://go-review.googlesource.com/36636Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Daniel Theophanes authored
Previously if a context was canceled while it was waiting for a connection request, that connection request would leak. To prevent this remove the pending connection request if the context is canceled and ensure no connection has been sent on the channel. This requires a change to how the connection requests are represented in the DB. Fixes #18995 Change-Id: I9a274b48b8f4f7ca46cdee166faa38f56d030852 Reviewed-on: https://go-review.googlesource.com/36563Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Kevin Burke authored
Change-Id: I09fdcebb939417f18af09ed57f24460724cab64f Reviewed-on: https://go-review.googlesource.com/36632Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 08 Feb, 2017 19 commits
-
-
Ian Lance Taylor authored
The two files were identical except for comments. Change-Id: Ifc300026c8e4584afa50a7b669099eaff146ea5d Reviewed-on: https://go-review.googlesource.com/36631 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David du Colombier authored
On Plan 9, GNU diff is called ape/diff. Fixes #18999. Change-Id: I7cf6c23c97bcc47172bbf838fd9dd72aefa4c18b Reviewed-on: https://go-review.googlesource.com/36650Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dmitri Shuralyov authored
As of https://golang.org/cl/21530, rules are updated to state that Handlers shouldn't modify the provided Request. This change updates StripPrefix to follow that rule. Resolves #18952. Change-Id: I29bbb580722e871131fa75a97e6e038ec64fdfcd Reviewed-on: https://go-review.googlesource.com/36483Reviewed-by: Matt Layher <mdlayher@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Matt Layher <mdlayher@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Cherry Zhang authored
CL 35261 makes SSA handle zero-valued STRUCTLIT, but DOT operation was not handled. Fixes #18994. Change-Id: Ic7976036acca1523b0b14afac4d170797e8aee20 Reviewed-on: https://go-review.googlesource.com/36565 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Lazar authored
This lets the compiler inline functions that contain a linknamed symbol. Previously, the net/http tests would fail to build with -l=4 because the compiler inlined functions that call net.byteIndex (which is linknamed to strings.IndexByte). This changes only the compiler-specific export data, so we don't need to bump the export format version number. The following benchmark results show how the size of package export data is impacted by this change. These benchmarks were created by compiling the go1 benchmark and running `go tool pack x` to extract the export data from the resulting .a files. name old bytes new bytes delta bufio 3.48k ± 0% 3.58k ± 0% +2.90% bytes 5.05k ± 0% 5.16k ± 0% +2.16% compress/bzip2 2.61k ± 0% 2.68k ± 0% +2.68% compress/flate 5.07k ± 0% 5.14k ± 0% +1.40% compress/gzip 8.26k ± 0% 8.40k ± 0% +1.70% container/list 1.69k ± 0% 1.76k ± 0% +4.07% context 3.93k ± 0% 4.01k ± 0% +1.86% crypto 1.03k ± 0% 1.03k ± 0% +0.39% crypto/aes 475 ± 0% 475 ± 0% +0.00% crypto/cipher 1.18k ± 0% 1.18k ± 0% +0.00% crypto/des 502 ± 0% 502 ± 0% +0.00% crypto/dsa 5.71k ± 0% 5.77k ± 0% +1.16% crypto/ecdsa 6.67k ± 0% 6.75k ± 0% +1.08% crypto/elliptic 6.28k ± 0% 6.35k ± 0% +1.07% crypto/hmac 464 ± 0% 464 ± 0% +0.00% crypto/internal/cipherhw 313 ± 0% 313 ± 0% +0.00% crypto/md5 691 ± 0% 695 ± 0% +0.58% crypto/rand 5.37k ± 0% 5.43k ± 0% +1.23% crypto/rc4 512 ± 0% 512 ± 0% +0.00% crypto/rsa 7.05k ± 0% 7.12k ± 0% +1.05% crypto/sha1 756 ± 0% 760 ± 0% +0.53% crypto/sha256 523 ± 0% 523 ± 0% +0.00% crypto/sha512 662 ± 0% 662 ± 0% +0.00% crypto/subtle 835 ± 0% 873 ± 0% +4.55% crypto/tls 28.1k ± 0% 28.5k ± 0% +1.30% crypto/x509 17.7k ± 0% 17.9k ± 0% +1.04% crypto/x509/pkix 9.75k ± 0% 9.90k ± 0% +1.50% encoding 473 ± 0% 473 ± 0% +0.00% encoding/asn1 1.41k ± 0% 1.42k ± 0% +1.00% encoding/base64 1.67k ± 0% 1.69k ± 0% +0.90% encoding/binary 2.65k ± 0% 2.76k ± 0% +4.07% encoding/gob 13.3k ± 0% 13.5k ± 0% +1.65% encoding/hex 854 ± 0% 857 ± 0% +0.35% encoding/json 11.9k ± 0% 12.1k ± 0% +1.71% encoding/pem 484 ± 0% 484 ± 0% +0.00% errors 360 ± 0% 361 ± 0% +0.28% flag 7.32k ± 0% 7.42k ± 0% +1.48% fmt 1.42k ± 0% 1.42k ± 0% +0.00% go/ast 15.7k ± 0% 15.8k ± 0% +1.07% go/parser 7.48k ± 0% 7.59k ± 0% +1.55% go/scanner 3.88k ± 0% 3.94k ± 0% +1.39% go/token 3.51k ± 0% 3.53k ± 0% +0.60% hash 507 ± 0% 507 ± 0% +0.00% hash/crc32 685 ± 0% 685 ± 0% +0.00% internal/nettrace 474 ± 0% 474 ± 0% +0.00% internal/pprof/profile 8.29k ± 0% 8.36k ± 0% +0.89% internal/race 511 ± 0% 511 ± 0% +0.00% internal/singleflight 966 ± 0% 969 ± 0% +0.31% internal/syscall/unix 427 ± 0% 427 ± 0% +0.00% io 3.48k ± 0% 3.52k ± 0% +1.15% io/ioutil 5.30k ± 0% 5.38k ± 0% +1.53% log 4.46k ± 0% 4.53k ± 0% +1.59% math 3.72k ± 0% 3.75k ± 0% +0.75% math/big 8.91k ± 0% 9.01k ± 0% +1.15% math/rand 1.29k ± 0% 1.30k ± 0% +0.46% mime 2.59k ± 0% 2.63k ± 0% +1.55% mime/multipart 3.61k ± 0% 3.68k ± 0% +1.80% mime/quotedprintable 2.20k ± 0% 2.25k ± 0% +2.50% net 21.1k ± 0% 21.3k ± 0% +1.10% net/http 56.6k ± 0% 57.3k ± 0% +1.28% net/http/httptest 33.6k ± 0% 34.1k ± 0% +1.38% net/http/httptrace 14.4k ± 0% 14.5k ± 0% +1.29% net/http/internal 2.70k ± 0% 2.77k ± 0% +2.59% net/textproto 4.51k ± 0% 4.60k ± 0% +1.82% net/url 1.71k ± 0% 1.73k ± 0% +1.41% os 11.3k ± 0% 11.4k ± 0% +1.36% path 587 ± 0% 589 ± 0% +0.34% path/filepath 4.46k ± 0% 4.55k ± 0% +1.88% reflect 6.39k ± 0% 6.43k ± 0% +0.72% regexp 5.82k ± 0% 5.88k ± 0% +1.12% regexp/syntax 3.22k ± 0% 3.24k ± 0% +0.62% runtime 12.9k ± 0% 13.2k ± 0% +1.94% runtime/cgo 229 ± 0% 229 ± 0% +0.00% runtime/debug 3.66k ± 0% 3.72k ± 0% +1.86% runtime/internal/atomic 905 ± 0% 905 ± 0% +0.00% runtime/internal/sys 2.00k ± 0% 2.05k ± 0% +2.55% runtime/pprof 4.16k ± 0% 4.23k ± 0% +1.66% runtime/pprof/internal/protopprof 11.5k ± 0% 11.7k ± 0% +1.27% runtime/trace 354 ± 0% 354 ± 0% +0.00% sort 1.63k ± 0% 1.68k ± 0% +2.94% strconv 1.84k ± 0% 1.85k ± 0% +0.54% strings 3.87k ± 0% 3.97k ± 0% +2.48% sync 1.51k ± 0% 1.52k ± 0% +0.33% sync/atomic 1.58k ± 0% 1.60k ± 0% +1.27% syscall 53.2k ± 0% 53.3k ± 0% +0.20% testing 8.14k ± 0% 8.26k ± 0% +1.49% testing/internal/testdeps 597 ± 0% 598 ± 0% +0.17% text/tabwriter 3.09k ± 0% 3.14k ± 0% +1.85% text/template 15.4k ± 0% 15.7k ± 0% +1.89% text/template/parse 8.90k ± 0% 9.12k ± 0% +2.46% time 5.75k ± 0% 5.86k ± 0% +1.86% unicode 4.62k ± 0% 4.62k ± 0% +0.07% unicode/utf16 693 ± 0% 706 ± 0% +1.88% unicode/utf8 1.05k ± 0% 1.07k ± 0% +1.14% vendor/golang_org/x/crypto/chacha20poly1305 1.25k ± 0% 1.26k ± 0% +0.64% vendor/golang_org/x/crypto/curve25519 392 ± 0% 392 ± 0% +0.00% vendor/golang_org/x/crypto/poly1305 426 ± 0% 426 ± 0% +0.00% vendor/golang_org/x/net/http2/hpack 4.19k ± 0% 4.26k ± 0% +1.69% vendor/golang_org/x/net/idna 355 ± 0% 355 ± 0% +0.00% vendor/golang_org/x/net/lex/httplex 609 ± 0% 615 ± 0% +0.99% vendor/golang_org/x/text/transform 1.31k ± 0% 1.31k ± 0% +0.08% vendor/golang_org/x/text/unicode/norm 5.78k ± 0% 5.90k ± 0% +2.06% vendor/golang_org/x/text/width 1.24k ± 0% 1.24k ± 0% +0.16% [Geo mean] 2.49k 2.52k +1.10% Fixes #18167. Change-Id: Ia5b7e70adc9652c7ee9954ca2efc1c59fa79be2b Reviewed-on: https://go-review.googlesource.com/33911 Run-TryBot: David Lazar <lazard@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Kale Blankenship authored
Updates Profile and Trace handlers to reject requests for durations >= WriteTimeout. Modifies go tool pprof to print the body of the http response when status != 200. Fixes #18755 Change-Id: I6faed21685693caf39f315f003039538114937b0 Reviewed-on: https://go-review.googlesource.com/35564Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Максим Федосеев authored
Link in the description of TLSUnique field of ConnectionState struct leads to an article that is no longer available, so this commit replaces it with link to a copy of the very same article on another site. Fixes #18842. Change-Id: I8f8d298c4774dc0fbbad5042db0684bb3220aee8 Reviewed-on: https://go-review.googlesource.com/36052Reviewed-by: Filippo Valsorda <hi@filippo.io> Reviewed-by: Adam Langley <agl@golang.org>
-
Jaana Burcu Dogan authored
CL (change list) pops out of nowhere and confuses the reader. Use "change" instead to be consistent with the rest of the document. Fixes #18989. Change-Id: I525a63a195dc6bb992c8ad0f10c2f2e1b2b952df Reviewed-on: https://go-review.googlesource.com/36564Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Munday authored
Some rules insert MOVDreg ops to ensure that type changes are kept. If there is no type change (or the input is constant) then the MOVDreg can be omitted, allowing further optimization. Reduces the size of the .text section in the asm tool by ~33KB. Change-Id: I386883bb35b843c7b99a269cd6840dca77cf4371 Reviewed-on: https://go-review.googlesource.com/36547 Run-TryBot: Michael Munday <munday@ca.ibm.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Robert Griesemer authored
Slightly cleaner and more readable code. Change-Id: I35263dbf338861b0a1bd62d59417b6a2c6a4e670 Reviewed-on: https://go-review.googlesource.com/36562 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Alan Donovan <adonovan@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
haya14busa authored
By using actual filename, diff output of "gofmt -d" can be used with other commands like "diffstat" and "patch". Example: $ gofmt -d path/to/file.go | diffstat $ gofmt -d path/to/file.go > gofmt.patch $ patch -u -p0 < gofmt.patch Fixes #18932 Change-Id: I21ce15eb77870d72f2c14bfd5e7c21e2c77dc9ab Reviewed-on: https://go-review.googlesource.com/36374 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Aliaksandr Valialkin authored
The relevant benchmark results on linux/amd64: bytes: SplitSingleByteSeparator-4 25.7ms ± 5% 9.1ms ± 4% -64.40% (p=0.000 n=10+10) SplitMultiByteSeparator-4 13.8ms ±20% 4.3ms ± 8% -69.23% (p=0.000 n=10+10) SplitNSingleByteSeparator-4 1.88µs ± 9% 0.88µs ± 4% -53.25% (p=0.000 n=10+10) SplitNMultiByteSeparator-4 4.83µs ±10% 1.32µs ± 9% -72.65% (p=0.000 n=10+10) strings: name old time/op new time/op delta SplitSingleByteSeparator-4 21.4ms ± 8% 8.5ms ± 5% -60.19% (p=0.000 n=10+10) SplitMultiByteSeparator-4 13.2ms ± 9% 3.9ms ± 4% -70.29% (p=0.000 n=10+10) SplitNSingleByteSeparator-4 1.54µs ± 5% 0.75µs ± 7% -51.21% (p=0.000 n=10+10) SplitNMultiByteSeparator-4 3.57µs ± 8% 1.01µs ±11% -71.76% (p=0.000 n=10+10) Fixes #18973 Change-Id: Ie4bc010c6cc389001e72eab530497c81e5b26f34 Reviewed-on: https://go-review.googlesource.com/36510Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Daniel Theophanes authored
Previously it was intended that Rows.Scan would return an error and Rows.Err would return nil. This was problematic because drivers could not differentiate between a normal Rows.Close or a context cancel close. The alternative is to require drivers to return a Scan to return an error if the driver is closed while there are still rows to be read. This is currently not how several drivers currently work and may be difficult to detect when there are additional rows. At the same time guard the the Rows.lasterr and prevent a close while a Rows operation is active. For the drivers that do not have Context methods, do not check for context cancelation after the operation, but before for any operation that may modify the database state. Fixes #18961 Change-Id: I49a25318ecd9f97a35d5b50540ecd850c01cfa5e Reviewed-on: https://go-review.googlesource.com/36485Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Adam Langley authored
This change clarifies that only ticket-based resumption is supported by crypto/tls. It's not clear where to document this for a server, although perhaps it's obvious there because there's nowhere to plug in the storage that would be needed by SessionID-based resumption. Fixes #18607 Change-Id: Iaaed53e8d8f2f45c2f24c0683052df4be6340922 Reviewed-on: https://go-review.googlesource.com/36560Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ilya Tocar authored
Similar to https://go-review.googlesource.com/28586, but for package bytes instead of strings. This provides simpler code and some performance gain. Also update strings.Count to use the same code. On AMD64 with heavily optimized Index I see: name old time/op new time/op delta Count/10-6 47.3ns ± 0% 36.8ns ± 0% -22.35% (p=0.000 n=10+10) Count/32-6 286ns ± 0% 38ns ± 0% -86.71% (p=0.000 n=10+10) Count/4K-6 50.1µs ± 0% 4.4µs ± 0% -91.18% (p=0.000 n=10+10) Count/4M-6 48.1ms ± 1% 4.5ms ± 0% -90.56% (p=0.000 n=10+9) Count/64M-6 784ms ± 0% 73ms ± 0% -90.73% (p=0.000 n=10+10) CountEasy/10-6 28.4ns ± 0% 31.0ns ± 0% +9.23% (p=0.000 n=10+10) CountEasy/32-6 30.6ns ± 0% 37.0ns ± 0% +20.92% (p=0.000 n=10+10) CountEasy/4K-6 186ns ± 0% 198ns ± 0% +6.45% (p=0.000 n=9+10) CountEasy/4M-6 233µs ± 2% 234µs ± 2% ~ (p=0.912 n=10+10) CountEasy/64M-6 6.70ms ± 0% 6.68ms ± 1% ~ (p=0.762 n=8+10) name old speed new speed delta Count/10-6 211MB/s ± 0% 272MB/s ± 0% +28.77% (p=0.000 n=10+9) Count/32-6 112MB/s ± 0% 842MB/s ± 0% +652.84% (p=0.000 n=10+10) Count/4K-6 81.8MB/s ± 0% 927.6MB/s ± 0% +1033.63% (p=0.000 n=10+9) Count/4M-6 87.2MB/s ± 1% 924.0MB/s ± 0% +959.25% (p=0.000 n=10+9) Count/64M-6 85.6MB/s ± 0% 922.9MB/s ± 0% +978.31% (p=0.000 n=10+10) CountEasy/10-6 352MB/s ± 0% 322MB/s ± 0% -8.41% (p=0.000 n=10+10) CountEasy/32-6 1.05GB/s ± 0% 0.87GB/s ± 0% -17.35% (p=0.000 n=9+10) CountEasy/4K-6 22.0GB/s ± 0% 20.6GB/s ± 0% -6.33% (p=0.000 n=10+10) CountEasy/4M-6 18.0GB/s ± 2% 18.0GB/s ± 2% ~ (p=0.912 n=10+10) CountEasy/64M-6 10.0GB/s ± 0% 10.0GB/s ± 1% ~ (p=0.762 n=8+10) On 386, without asm version of Index: Count/10-6 57.0ns ± 0% 56.9ns ± 0% -0.11% (p=0.006 n=10+9) Count/32-6 340ns ± 0% 274ns ± 0% -19.48% (p=0.000 n=10+9) Count/4K-6 49.5µs ± 0% 37.1µs ± 0% -24.96% (p=0.000 n=10+10) Count/4M-6 51.1ms ± 0% 38.2ms ± 0% -25.21% (p=0.000 n=10+10) Count/64M-6 818ms ± 0% 613ms ± 0% -25.07% (p=0.000 n=8+10) CountEasy/10-6 60.0ns ± 0% 70.4ns ± 0% +17.34% (p=0.000 n=10+10) CountEasy/32-6 81.1ns ± 0% 94.0ns ± 0% +15.97% (p=0.000 n=9+10) CountEasy/4K-6 4.37µs ± 0% 4.39µs ± 0% +0.30% (p=0.000 n=10+9) CountEasy/4M-6 4.43ms ± 0% 4.43ms ± 0% ~ (p=0.579 n=10+10) CountEasy/64M-6 70.9ms ± 0% 70.9ms ± 0% ~ (p=0.912 n=10+10) name old speed new speed delta Count/10-6 176MB/s ± 0% 176MB/s ± 0% +0.10% (p=0.000 n=10+9) Count/32-6 93.9MB/s ± 0% 116.5MB/s ± 0% +24.06% (p=0.000 n=10+9) Count/4K-6 82.7MB/s ± 0% 110.3MB/s ± 0% +33.26% (p=0.000 n=10+10) Count/4M-6 82.1MB/s ± 0% 109.7MB/s ± 0% +33.70% (p=0.000 n=10+10) Count/64M-6 82.0MB/s ± 0% 109.5MB/s ± 0% +33.46% (p=0.000 n=8+10) CountEasy/10-6 167MB/s ± 0% 142MB/s ± 0% -14.75% (p=0.000 n=9+10) CountEasy/32-6 395MB/s ± 0% 340MB/s ± 0% -13.77% (p=0.000 n=10+10) CountEasy/4K-6 936MB/s ± 0% 934MB/s ± 0% -0.29% (p=0.000 n=10+9) CountEasy/4M-6 947MB/s ± 0% 946MB/s ± 0% ~ (p=0.591 n=10+10) CountEasy/64M-6 947MB/s ± 0% 947MB/s ± 0% ~ (p=0.867 n=10+10) Change-Id: Ia76b247372b6f5b5d23a9f10253a86536a5153b3 Reviewed-on: https://go-review.googlesource.com/36489Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
Change-Id: Iae68a097a6897f1616f94fdc3548837ef200e66f Reviewed-on: https://go-review.googlesource.com/36541 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Brad Fitzpatrick authored
Fixes #18985 Change-Id: I956117f47d1d2b453b4786c7b78c1c944defeca0 Reviewed-on: https://go-review.googlesource.com/36551Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Matthew Dempsky authored
We need to clear the pattern match map after the recursive rewrite applications, otherwise there might be lingering entries that cause match to fail. Fixes #18987. Change-Id: I7913951c455c98932bda790861db6a860ebad032 Reviewed-on: https://go-review.googlesource.com/36546 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
The fwdSig array is accessed by the signal handler, which may run in parallel with other threads manipulating it via the os/signal package. Use atomic accesses to ensure that there are no problems. Move the _SigHandling flag out of the sigtable array. This makes sigtable immutable and safe to read from the signal handler. Change-Id: Icfa407518c4ebe1da38580920ced764898dfc9ad Reviewed-on: https://go-review.googlesource.com/36321 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-