mirror of https://github.com/golang/go.git
54850 Commits
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
d092f597d7 |
math/bits: directly calculate quo/rem when hi is zero in Div64
func Div64(hi, lo, y uint64) (quo, rem uint64) {...}
math/bits.Div64 returns the quotient and remainder of (hi, lo) divided
by y. When hi is zero, we can directly return lo/y, lo%y, which can save
a lot of unnecessary calculations.
The performance is measured on arm64 and the changes will only affect
the arch that doesn't have the intrinsic.
name old time/op new time/op delta
DivWVW/1-10 4.62ns ± 1% 2.45ns ± 1% -46.97%
DivWVW/2-10 12.4ns ± 0% 12.2ns ± 0% -1.38%
DivWVW/3-10 17.4ns ± 1% 17.2ns ± 0% -0.88%
DivWVW/4-10 21.4ns ± 1% 21.6ns ± 0% +0.75%
DivWVW/5-10 22.1ns ± 1% 21.9ns ± 0% -0.69%
DivWVW/10-10 53.4ns ± 1% 53.0ns ± 1% -0.69%
DivWVW/100-10 641ns ± 1% 633ns ± 0% -1.26%
DivWVW/1000-10 5.52µs ± 1% 5.44µs ± 0% -1.39%
DivWVW/10000-10 54.9µs ± 1% 54.7µs ± 1% -0.54%
DivWVW/100000-10 646µs ± 1% 643µs ± 1% ~
name old speed new speed delta
DivWVW/1-10 13.8GB/s ± 1% 26.1GB/s ± 1% +88.57%
DivWVW/2-10 10.3GB/s ± 0% 10.5GB/s ± 0% +1.39%
DivWVW/3-10 11.1GB/s ± 1% 11.2GB/s ± 0% +0.90%
DivWVW/4-10 12.0GB/s ± 1% 11.9GB/s ± 0% -0.74%
DivWVW/5-10 14.5GB/s ± 1% 14.6GB/s ± 0% +0.69%
DivWVW/10-10 12.0GB/s ± 1% 12.1GB/s ± 1% +0.69%
DivWVW/100-10 10.0GB/s ± 1% 10.1GB/s ± 0% +1.28%
DivWVW/1000-10 11.6GB/s ± 1% 11.8GB/s ± 0% +1.41%
DivWVW/10000-10 11.6GB/s ± 1% 11.7GB/s ± 1% +0.54%
DivWVW/100000-10 9.91GB/s ± 1% 9.95GB/s ± 1% ~
Change-Id: I12014c2e2cdb2c91608079f7502592307af9e525
Reviewed-on: https://go-review.googlesource.com/c/go/+/449776
Reviewed-by: Keith Randall <khr@google.com>
Run-TryBot: Eric Fang <eric.fang@arm.com>
Reviewed-by: Robert Griesemer <gri@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
|
|
|
|
2041bde2b6 |
spec: clarify struct field and array element comparison order
Fixes #8606. Change-Id: I64b13b2ed61ecae4641264deb47c9f7653a80356 Reviewed-on: https://go-review.googlesource.com/c/go/+/449536 Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Robert Griesemer <gri@google.com> Auto-Submit: Robert Griesemer <gri@google.com> Run-TryBot: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
122a22e0e9 |
internal/syscall/unix: use runtime.gostring for Gostring
Under the race detector, checkptr flags uses of unsafe.Slice that result in slices that straddle multiple Go allocations. Avoid that scenario by calling existing runtime code. This fixes a failure on the darwin-.*-race builders introduced in CL 446178. Change-Id: I6e0fdb37e3c3f38d97939a8799bb4d10f519c5b9 Reviewed-on: https://go-review.googlesource.com/c/go/+/449936 Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> Auto-Submit: Ian Lance Taylor <iant@golang.org> |
|
|
|
7e4191e686 |
os/exec: fix TestWaitInterrupt/WaitDelay error message
As the comments say. Here we expect err to be nil instead of ctx.Err()
Change-Id: I4cd02d62ac0a13c9577a567de36742f13d140d36
GitHub-Last-Rev:
|
|
|
|
c3aac6c010 |
net: handle correctly the _gateway and _outbound hostnames for nss myhostname
Fixes #56387
Change-Id: If412134344600caefec425699398522399986d4d
GitHub-Last-Rev:
|
|
|
|
5a3243e6b6 |
all: fix problematic comments
Change-Id: Ib6ea1bd04d9b06542ed2b0f453c718115417c62c Reviewed-on: https://go-review.googlesource.com/c/go/+/449755 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Keith Randall <khr@google.com> |
|
|
|
46bed9d04c |
runtime/race: add missing copyright headers to syso import files
These were apparently missed in CL 424034. Change-Id: I60fcdd8c16992177a23c0e701f4224b250cfabee Reviewed-on: https://go-review.googlesource.com/c/go/+/449855 Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Bryan Mills <bcmills@google.com> |
|
|
|
9776524908 |
net: disable TestLookupDotsWithRemoteSource and TestLookupGoogleSRV
These tests fail consistently due to a DNS change causing widespread trybot outages. Fixes #56707. Change-Id: Iebdf91254a922a48880021198f0f12f6bc16b6e7 Reviewed-on: https://go-review.googlesource.com/c/go/+/449640 Reviewed-by: Carlos Amedee <carlos@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Damien Neil <dneil@google.com> |
|
|
|
bed2b7cf41 |
runtime: delay incrementing freeindex in malloc
When the GC is scanning some memory (possibly conservatively), finding a pointer, while concurrently another goroutine is allocating an object at the same address as the found pointer, the GC may see the pointer before the object and/or the heap bits are initialized. This may cause the GC to see bad pointers and possibly crash. To prevent this, we make it that the scanner can only see the object as allocated after the object and the heap bits are initialized. As the scanner uses the freeindex to determine if an object is allocated, we delay the increment of freeindex after the initialization. As currently in some code path finding the next free index and updating the free index to a new slot past it is coupled, this needs a small refactoring. In the new code mspan.nextFreeIndex return the next free index but not update it (although allocCache is updated). mallocgc will update it at a later time. Fixes #54596. Change-Id: I6dd5ccf743f2d2c46a1ed67c6a8237fe09a71260 Reviewed-on: https://go-review.googlesource.com/c/go/+/427619 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> |
|
|
|
fcd14bdcbd |
cmd/go/internal/vcweb: fix a data race in the overview handler
I forgot to lock the scriptResult in the overview handler, and apparently a cmd/go test is incidentally fetching the overview page at some point during test execution, triggering the race. This race was caught almost immediately by the new linux-amd64-longtest-race builder (see https://build.golang.org/log/85ab78169a6382a73b1a26c89e64138b387da217). Updates #27494. Change-Id: I06ee8d54dba400800284401428ba4a59809983b2 Reviewed-on: https://go-review.googlesource.com/c/go/+/449517 Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Michael Matloob <matloob@golang.org> |
|
|
|
fffda6b3ad |
cmd/link: exit if runtime.a is missing
Many stages in the linker assume some runtime symbols exist. Error out if the runtime package cannot be found. Fixes #56685. Change-Id: I39b2663f6d7419688e30e6d8650e5eb8fc43a2b1 Reviewed-on: https://go-review.googlesource.com/c/go/+/449638 Reviewed-by: Than McIntosh <thanm@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
73f987c88b |
test: add regression test for issue 53439
Fixes #53439 Change-Id: I425af0f78153511034e4a4648f32ef8c9378a325 Reviewed-on: https://go-review.googlesource.com/c/go/+/449756 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com> Reviewed-by: Keith Randall <khr@google.com> |
|
|
|
185766de0f |
os/user: use libc (not cgo) on macOS
With net converted to libc, os/user is the last remaining cgo code in the standard libary on macOS. Convert it to libc too. Now only plugin remains as a cgo-using package on macOS. Change-Id: Ibb518b5c62ef9ec1e6ab6191f4b576f7c5a4501c Reviewed-on: https://go-review.googlesource.com/c/go/+/449316 Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
d62f8d5f2b |
crypto/ecdh: add boringcrypto support
Update crypto/ecdh to use boringcrypto when enabled. Change-Id: Idd0ce06a22b1a62289b383c46893800621c7d97b Reviewed-on: https://go-review.googlesource.com/c/go/+/423363 Run-TryBot: Russ Cox <rsc@golang.org> Auto-Submit: Russ Cox <rsc@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
ffc4496306 |
cmd/compile: remove output registers limit for MUL/DIV on loong64
This limitation exists on MIPS platform, but not on loong64. Change-Id: I14bb3ec6895a8f7850873c171e1756843ffea72e Reviewed-on: https://go-review.googlesource.com/c/go/+/449395 Reviewed-by: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Wayne Zuo <wdvxdr@golangcn.org> Reviewed-by: David Chase <drchase@google.com> |
|
|
|
4d37f96825 |
net/http: fix triv.go
CL 428137 replaced 'buf := make(bytes.Buffer)' with 'var buf strings.Builder'. That change also requires passing &buf to io.Copy instead of buf. Change-Id: I72b3faa46693e7d1441298f49dc6b95859c3bff3 Reviewed-on: https://go-review.googlesource.com/c/go/+/449635 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Damien Neil <dneil@google.com> Run-TryBot: Russ Cox <rsc@golang.org> |
|
|
|
1b03568ae1 |
cmd/compile: adjust PGO inlining default parameters
Adjust PGO inlining default parameters to 99% CDF threshold and 2000 budget. Benchmark results (mostly from Sweet) show that this set of parameters performs reasonably well, with a few percent speedup at the cost of a few percent binary size increase. Also rename the debug flags to start with "pgo", to make it clear that they are related to PGO. Change-Id: I0749249b1298d1dc55a28993c37b3185f9d7639d Reviewed-on: https://go-review.googlesource.com/c/go/+/449477 Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
5497300d9c |
cmd/internal/obj: reduce allocations in object file writing
Some object file writer functions are structured like, having a local variable, setting fields, then passing it to a Write method which eventually calls io.Writer.Write. As the Write call is an interface call it escapes the parameter, which in turn causes the local variable to be heap allocated. To reduce allocation, use pre-allocated scratch space instead. Reduce number of allocations in the compiler: name old allocs/op new allocs/op delta Template 679k ± 0% 644k ± 0% -5.17% (p=0.000 n=20+20) Unicode 603k ± 0% 581k ± 0% -3.67% (p=0.000 n=20+20) GoTypes 3.83M ± 0% 3.63M ± 0% -5.30% (p=0.000 n=20+20) Compiler 353k ± 0% 342k ± 0% -3.09% (p=0.000 n=18+19) SSA 31.4M ± 0% 30.4M ± 0% -3.02% (p=0.000 n=20+20) Flate 397k ± 0% 373k ± 0% -5.92% (p=0.000 n=20+18) GoParser 777k ± 0% 735k ± 0% -5.37% (p=0.000 n=20+20) Reflect 2.07M ± 0% 1.90M ± 0% -7.89% (p=0.000 n=18+20) Tar 605k ± 0% 568k ± 0% -6.26% (p=0.000 n=19+16) XML 801k ± 0% 766k ± 0% -4.36% (p=0.000 n=20+20) [Geo mean] 1.18M 1.12M -5.02% Change-Id: I9d02a72e459e645527196ac54b6ee643a5ea6bd3 Reviewed-on: https://go-review.googlesource.com/c/go/+/449637 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> |
|
|
|
79950a4162 |
net: auto-reload the /etc/nsswitch.conf on unix systems
This change is made to align with the current (recently changed) glibc behaviour, it will allow the hostLookupOrder method to change its decisions on runtime (based on /etc/nsswitch.conf changes).
Fixes #56515
Change-Id: I241d67f053b6d2111eebcd67744adee02829166e
GitHub-Last-Rev:
|
|
|
|
fcecf3e1fa |
cmd/go: enable -x in go mod graph
Updates #35849 Change-Id: Ifa18e448c0d436c18d7204ac755cd36bc28cd612 Reviewed-on: https://go-review.googlesource.com/c/go/+/448935 Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Auto-Submit: Bryan Mills <bcmills@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
86bbcc6a75 |
cmd/go: enable -x in go mod tidy
Updates #35849 Change-Id: I8b40a2de6a05880a9f939349a714b631888f5f94 Reviewed-on: https://go-review.googlesource.com/c/go/+/448915 Reviewed-by: Bryan Mills <bcmills@google.com> Auto-Submit: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> |
|
|
|
14018c8bec |
runtime: retry thread creation on EAGAIN
This copies the logic we use in runtime/cgo, when calling pthread_create, into runtime proper, when calling newosproc. We only do this in newosproc, not newosproc0, because in newosproc0 we need a nosplit function literal, and we need to pass arguments to it through newosproc, which is a pain. Also newosproc0 is only called at process startup, when thread creation is less likely to fail anyhow. Fixes #49438 Change-Id: Ia26813952fdbae8aaad5904c9102269900a07ba9 Reviewed-on: https://go-review.googlesource.com/c/go/+/447175 Reviewed-by: Michael Knyszek <mknyszek@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> |
|
|
|
d96eb826cb |
cmd/compile: teach prove about signed domain relations of constant integer Phi's
Implement extracting signed domain relations for OpPhi's composed entirely of integer constants. darwin/arm benches (M1 Pro): EqIfaceConcrete-10 0.83ns ± 0% 0.78ns ± 0% -6.52% p=0.000 n=8+9 ) ConvT2EByteSized/bool-10 1.33ns ± 0% 1.25ns ± 0% -6.4% ( p=0.000 n=9+8 ) ConvT2EByteSized/uint8-10 1.27ns ± 1% 1.25ns ± 0% -1.82%( p=0.000 n=8+8 ) ConvT2ESmall-10 2.18ns ± 0% 2.14ns ± 1% -1.97%( p=0.000 n=9+9 ) compilecmp linux/amd64 reports a 1.4% reduction in total size: file before after Δ % unicode/utf8.s 4251 4317 +66 +1.553% runtime/internal/sys.s 599 593 -6 -1.002% sync/atomic.s 2277 1695 -582 -25.560% internal/cpu.s 5412 5249 -163 -3.012% internal/abi.s 1006 1045 +39 +3.877% container/list.s 4821 4858 +37 +0.767% unicode/utf16.s 1162 868 -294 -25.301% hash/maphash.s 2525 2625 +100 +3.960% image/color.s 7414 7045 -369 -4.977% math.s 37278 37246 -32 -0.086% math/cmplx.s 8868 8876 +8 +0.090% runtime.s 496893 486910 -9983 -2.009% runtime/metrics.s 1145 1165 +20 +1.747% sync.s 14257 15049 +792 +5.555% internal/singleflight.s 2557 2576 +19 +0.743% internal/reflectlite.s 59715 21713 -38002 -63.639% math/rand.s 10153 9980 -173 -1.704% path.s 6007 6091 +84 +1.398% sort.s 20704 20717 +13 +0.063% io.s 19708 18899 -809 -4.105% container/heap.s 1922 1932 +10 +0.520% cmd/vendor/golang.org/x/mod/semver.s 8013 7922 -91 -1.136% strconv.s 50530 49955 -575 -1.138% vendor/golang.org/x/net/dns/dnsmessage.s 79054 80314 +1260 +1.594% bytes.s 31195 31448 +253 +0.811% text/tabwriter.s 8952 9037 +85 +0.950% strings.s 43052 41627 -1425 -3.310% crypto/internal/nistec/fiat.s 124219 123197 -1022 -0.823% syscall.s 85224 84600 -624 -0.732% hash/adler32.s 1224 1221 -3 -0.245% encoding/ascii85.s 4131 4149 +18 +0.436% hash/crc32.s 6304 6347 +43 +0.682% encoding/base32.s 8466 8473 +7 +0.083% vendor/golang.org/x/text/transform.s 15633 16050 +417 +2.667% bufio.s 24464 22091 -2373 -9.700% reflect.s 258373 164941 -93432 -36.162% internal/syscall/unix.s 1730 1299 -431 -24.913% go/build/constraint.s 12959 13581 +622 +4.800% hash/crc64.s 3604 3673 +69 +1.915% hash/fnv.s 4482 4609 +127 +2.834% compress/bzip2.s 9586 9891 +305 +3.182% time.s 92081 89953 -2128 -2.311% regexp/syntax.s 78123 78293 +170 +0.218% internal/saferio.s 1746 1635 -111 -6.357% html.s 4228 4233 +5 +0.118% encoding/binary.s 31383 31282 -101 -0.322% image.s 37513 38082 +569 +1.517% internal/poll.s 45486 43956 -1530 -3.364% context.s 11096 10804 -292 -2.632% io/fs.s 16921 18609 +1688 +9.976% regexp.s 58983 58790 -193 -0.327% crypto/cipher.s 18686 18718 +32 +0.171% crypto/internal/edwards25519/field.s 9473 9488 +15 +0.158% crypto/sha1.s 6477 6537 +60 +0.926% encoding/base64.s 10615 10215 -400 -3.768% vendor/golang.org/x/crypto/internal/poly1305.s 4522 4567 +45 +0.995% cmd/internal/sys.s 4729 4965 +236 +4.990% os.s 53819 53697 -122 -0.227% embed.s 6428 6437 +9 +0.140% crypto/des.s 5770 5762 -8 -0.139% encoding/pem.s 6425 6467 +42 +0.654% crypto/internal/edwards25519.s 31850 31948 +98 +0.308% image/draw.s 28660 28594 -66 -0.230% image/jpeg.s 32246 32385 +139 +0.431% index/suffixarray.s 38665 38627 -38 -0.098% crypto/hmac.s 2546 2437 -109 -4.281% fmt.s 70412 71396 +984 +1.397% crypto/sha256.s 5708 5683 -25 -0.438% crypto/sha512.s 8346 8313 -33 -0.395% crypto/aes.s 11586 11231 -355 -3.064% path/filepath.s 16499 16438 -61 -0.370% crypto/internal/nistec.s 65640 65713 +73 +0.111% internal/lazyregexp.s 2389 2284 -105 -4.395% internal/intern.s 2988 3266 +278 +9.304% os/user.s 12166 12106 -60 -0.493% compress/lzw.s 7292 7264 -28 -0.384% encoding/hex.s 5431 5405 -26 -0.479% compress/flate.s 46812 47932 +1120 +2.393% net/url.s 26853 26638 -215 -0.801% crypto/ecdh.s 10015 12228 +2213 +22.097% vendor/golang.org/x/sys/cpu.s 5877 5599 -278 -4.730% database/sql/driver.s 16553 16671 +118 +0.713% net/netip.s 39077 40164 +1087 +2.782% debug/plan9obj.s 6765 6679 -86 -1.271% math/big.s 160530 161099 +569 +0.354% archive/tar.s 59285 59692 +407 +0.687% debug/dwarf.s 117589 116367 -1222 -1.039% compress/gzip.s 8288 8255 -33 -0.398% archive/zip.s 51813 49835 -1978 -3.818% compress/zlib.s 6206 6209 +3 +0.048% runtime/debug.s 11995 12212 +217 +1.809% database/sql.s 91280 90859 -421 -0.461% crypto/dsa.s 4816 4784 -32 -0.664% net.s 272116 271353 -763 -0.280% crypto/elliptic.s 30485 32898 +2413 +7.915% encoding/asn1.s 47189 48186 +997 +2.113% crypto/rand.s 3812 3801 -11 -0.289% debug/macho.s 30712 27800 -2912 -9.482% debug/pe.s 23198 23542 +344 +1.483% debug/elf.s 50653 50335 -318 -0.628% internal/xcoff.s 18330 18578 +248 +1.353% debug/gosym.s 37011 34275 -2736 -7.392% encoding/csv.s 11440 11497 +57 +0.498% encoding/json.s 95650 92269 -3381 -3.535% vendor/golang.org/x/crypto/cryptobyte.s 31261 31418 +157 +0.502% encoding/gob.s 131648 132481 +833 +0.633% crypto/x509/pkix.s 9030 9285 +255 +2.824% crypto/rsa.s 25753 25620 -133 -0.516% debug/buildinfo.s 7329 7360 +31 +0.423% log.s 12153 12554 +401 +3.300% encoding/xml.s 90630 91544 +914 +1.008% net/textproto.s 17674 15707 -1967 -11.129% vendor/golang.org/x/text/unicode/norm.s 66104 66296 +192 +0.290% vendor/golang.org/x/net/http2/hpack.s 23542 24291 +749 +3.182% mime/quotedprintable.s 5074 5106 +32 +0.631% mime.s 32982 32673 -309 -0.937% net/http/internal.s 5765 4748 -1017 -17.641% flag.s 25247 25434 +187 +0.741% vendor/golang.org/x/text/unicode/bidi.s 30444 30707 +263 +0.864% go/token.s 13689 14075 +386 +2.820% go/doc/comment.s 49201 47717 -1484 -3.016% internal/buildcfg.s 10468 9949 -519 -4.958% text/scanner.s 9812 9814 +2 +0.020% os/exec.s 34367 29498 -4869 -14.168% mime/multipart.s 17568 17083 -485 -2.761% image/gif.s 22965 22826 -139 -0.605% crypto/x509.s 142551 139844 -2707 -1.899% text/template/parse.s 82771 94885 +12114 +14.636% go/scanner.s 17306 17321 +15 +0.087% internal/dag.s 13123 13368 +245 +1.867% go/constant.s 29736 32872 +3136 +10.546% image/png.s 37126 37013 -113 -0.304% internal/goroot.s 3080 3212 +132 +4.286% internal/diff.s 7561 7909 +348 +4.603% vendor/golang.org/x/net/idna.s 22454 22493 +39 +0.174% go/ast.s 63945 68792 +4847 +7.580% internal/pkgbits.s 19638 19838 +200 +1.018% text/template.s 107139 100338 -6801 -6.348% runtime/trace.s 2844 2762 -82 -2.883% internal/txtar.s 2495 2483 -12 -0.481% internal/profile.s 117110 118516 +1406 +1.201% log/syslog.s 6615 6625 +10 +0.151% vendor/golang.org/x/net/http/httpguts.s 3558 3580 +22 +0.618% crypto/tls.s 298298 292244 -6054 -2.030% internal/trace.s 69626 67477 -2149 -3.086% vendor/golang.org/x/net/http/httpproxy.s 8164 7942 -222 -2.719% go/doc.s 69092 71449 +2357 +3.411% go/internal/typeparams.s 1465 1338 -127 -8.669% go/printer.s 90427 82948 -7479 -8.271% html/template.s 91720 90853 -867 -0.945% runtime/pprof.s 70261 69793 -468 -0.666% testing.s 107098 98982 -8116 -7.578% net/internal/socktest.s 15715 15469 -246 -1.565% net/mail.s 17762 18044 +282 +1.588% net/smtp.s 11295 11484 +189 +1.673% os/signal.s 7647 7779 +132 +1.726% go/parser.s 111336 116170 +4834 +4.342% testing/iotest.s 13339 13379 +40 +0.300% testing/quick.s 8493 8516 +23 +0.271% cmd/internal/bio.s 11994 8754 -3240 -27.014% internal/testenv.s 7067 6779 -288 -4.075% vendor/golang.org/x/net/nettest.s 27692 27770 +78 +0.282% cmd/internal/objabi.s 15031 14718 -313 -2.082% cmd/internal/src.s 14507 14515 +8 +0.055% cmd/vendor/golang.org/x/arch/arm/armasm.s 33278 33864 +586 +1.761% go/format.s 4517 4725 +208 +4.605% go/build.s 67444 70250 +2806 +4.160% testing/fstest.s 53785 52941 -844 -1.569% cmd/vendor/golang.org/x/arch/arm64/arm64asm.s 86346 87156 +810 +0.938% cmd/internal/goobj.s 12262 12327 +65 +0.530% internal/fuzz.s 88446 89608 +1162 +1.314% cmd/vendor/golang.org/x/arch/ppc64/ppc64asm.s 36435 37026 +591 +1.622% cmd/internal/dwarf.s 28919 29476 +557 +1.926% cmd/internal/edit.s 3375 3428 +53 +1.570% cmd/vendor/golang.org/x/arch/x86/x86asm.s 70465 70187 -278 -0.395% cmd/internal/pkgpath.s 4922 4422 -500 -10.158% net/http.s 548512 541160 -7352 -1.340% cmd/internal/archive.s 11103 11111 +8 +0.072% testing/internal/testdeps.s 6384 6427 +43 +0.674% cmd/internal/quoted.s 2374 2708 +334 +14.069% cmd/compile/internal/abt.s 15188 14795 -393 -2.588% cmd/internal/gcprog.s 6090 6131 +41 +0.673% cmd/internal/codesign.s 4395 4406 +11 +0.250% go/types.s 478152 479038 +886 +0.185% cmd/internal/obj.s 121049 114662 -6387 -5.276% cmd/compile/internal/syntax.s 157912 156897 -1015 -0.643% expvar.s 8906 8586 -320 -3.593% net/http/cgi.s 17411 17782 +371 +2.131% net/http/cookiejar.s 13763 13931 +168 +1.221% net/http/httptest.s 16213 16785 +572 +3.528% net/http/pprof.s 14556 14739 +183 +1.257% net/http/httputil.s 43808 44406 +598 +1.365% net/rpc.s 32868 30581 -2287 -6.958% go/internal/gccgoimporter.s 45024 45409 +385 +0.855% go/internal/gcimporter.s 58540 53044 -5496 -9.388% go/internal/srcimporter.s 10011 10451 +440 +4.395% net/http/fcgi.s 18344 18039 -305 -1.663% cmd/internal/objfile.s 45853 46153 +300 +0.654% cmd/api.s 34943 35806 +863 +2.470% cmd/internal/obj/arm.s 61126 61156 +30 +0.049% net/rpc/jsonrpc.s 5601 5271 -330 -5.892% cmd/internal/obj/loong64.s 45594 45335 -259 -0.568% cmd/internal/obj/arm64.s 140572 140006 -566 -0.403% cmd/internal/obj/mips.s 53672 53637 -35 -0.065% go/importer.s 1989 2169 +180 +9.050% cmd/internal/obj/riscv.s 56721 56877 +156 +0.275% cmd/addr2line.s 1930 1906 -24 -1.244% cmd/internal/obj/ppc64.s 137317 115306 -22011 -16.029% cmd/internal/obj/wasm.s 34091 34162 +71 +0.208% cmd/internal/obj/s390x.s 110244 110444 +200 +0.181% cmd/asm/internal/flags.s 2234 2351 +117 +5.237% cmd/internal/obj/x86.s 86811 87534 +723 +0.833% cmd/internal/buildid.s 17303 17156 -147 -0.850% cmd/compile/internal/base.s 29582 29675 +93 +0.314% cmd/compile/internal/logopt.s 9859 9943 +84 +0.852% cmd/cgo.s 198958 203063 +4105 +2.063% cmd/internal/browser.s 1751 1803 +52 +2.970% cmd/vendor/golang.org/x/tools/cover.s 9752 9759 +7 +0.072% cmd/asm/internal/lex.s 22668 21352 -1316 -5.806% cmd/asm/internal/arch.s 27642 29863 +2221 +8.035% cmd/compile/internal/bitvec.s 5535 5542 +7 +0.126% cmd/compile/internal/types.s 74646 74488 -158 -0.212% cmd/dist.s 185287 184450 -837 -0.452% cmd/compile/internal/types2.s 477270 470783 -6487 -1.359% cmd/cover.s 29563 31341 +1778 +6.014% cmd/doc.s 54013 53299 -714 -1.322% cmd/go/internal/fsys.s 16751 16944 +193 +1.152% cmd/fix.s 64367 65866 +1499 +2.329% cmd/asm/internal/asm.s 60266 60767 +501 +0.831% cmd/compile/internal/ir.s 252952 187941 -65011 -25.701% cmd/go/internal/str.s 3582 3690 +108 +3.015% cmd/go/internal/lockedfile/internal/filelock.s 2062 1960 -102 -4.947% cmd/go/internal/cfg.s 11331 11253 -78 -0.688% cmd/asm.s 2461 2474 +13 +0.528% cmd/compile/internal/deadcode.s 5576 5812 +236 +4.232% cmd/compile/internal/objw.s 5553 5450 -103 -1.855% cmd/go/internal/par.s 4473 4378 -95 -2.124% cmd/compile/internal/abi.s 19219 19382 +163 +0.848% cmd/go/internal/lockedfile.s 22412 14422 -7990 -35.651% cmd/go/internal/auth.s 2218 2250 +32 +1.443% cmd/vendor/golang.org/x/mod/internal/lazyregexp.s 2389 2284 -105 -4.395% cmd/go/internal/base.s 10079 10177 +98 +0.972% cmd/go/internal/imports.s 16417 16159 -258 -1.572% cmd/go/internal/trace.s 4888 4895 +7 +0.143% cmd/go/internal/web.s 12130 12007 -123 -1.014% cmd/vendor/golang.org/x/mod/sumdb/tlog.s 27662 28441 +779 +2.816% cmd/vendor/golang.org/x/mod/module.s 20503 20758 +255 +1.244% cmd/vendor/golang.org/x/mod/sumdb/dirhash.s 3599 3601 +2 +0.056% cmd/go/internal/cache.s 23949 24705 +756 +3.157% cmd/go/internal/cmdflag.s 3769 3748 -21 -0.557% cmd/go/internal/search.s 15584 15917 +333 +2.137% cmd/vendor/golang.org/x/mod/sumdb/note.s 14260 14347 +87 +0.610% cmd/internal/test2json.s 8706 8575 -131 -1.505% cmd/go/internal/tool.s 2762 2756 -6 -0.217% cmd/vendor/golang.org/x/mod/zip.s 36841 37335 +494 +1.341% cmd/go/internal/mvs.s 27581 30511 +2930 +10.623% cmd/go/internal/modfetch/codehost.s 80858 76219 -4639 -5.737% cmd/go/internal/version.s 3050 3046 -4 -0.131% cmd/vendor/golang.org/x/mod/modfile.s 99002 98074 -928 -0.937% cmd/go/internal/test/internal/genflags.s 2025 2032 +7 +0.346% cmd/vendor/golang.org/x/sync/semaphore.s 2220 2210 -10 -0.450% cmd/go/internal/vcs.s 43959 45346 +1387 +3.155% cmd/vendor/golang.org/x/mod/sumdb.s 27952 28265 +313 +1.120% cmd/go/internal/modindex.s 79377 82223 +2846 +3.585% cmd/compile/internal/typecheck.s 317102 310352 -6750 -2.129% cmd/link/internal/benchmark.s 3621 3680 +59 +1.629% cmd/link/internal/sym.s 1816 1805 -11 -0.606% cmd/go/internal/modconv.s 14909 14895 -14 -0.094% cmd/gofmt.s 29575 29779 +204 +0.690% cmd/link/internal/dwtest.s 3879 3909 +30 +0.773% cmd/vendor/golang.org/x/sys/unix.s 118975 119232 +257 +0.216% cmd/nm.s 4675 4718 +43 +0.920% cmd/go/internal/modfetch.s 111400 112088 +688 +0.618% cmd/compile/internal/compare.s 11311 10693 -618 -5.464% cmd/compile/internal/staticdata.s 14014 14277 +263 +1.877% cmd/compile/internal/devirtualize.s 2548 2144 -404 -15.856% cmd/compile/internal/inline.s 37591 37993 +402 +1.069% cmd/compile/internal/escape.s 69777 68692 -1085 -1.555% cmd/compile/internal/importer.s 52920 48544 -4376 -8.269% cmd/internal/osinfo.s 501 698 +197 +39.321% cmd/link/internal/loader.s 79034 75315 -3719 -4.706% cmd/pack.s 8512 8600 +88 +1.034% cmd/vendor/github.com/google/pprof/internal/elfexec.s 5636 5711 +75 +1.331% cmd/vendor/github.com/google/pprof/profile.s 143898 145834 +1936 +1.345% cmd/compile/internal/reflectdata.s 80184 81399 +1215 +1.515% cmd/vendor/golang.org/x/term.s 24431 24478 +47 +0.192% cmd/go/internal/modload.s 273375 282247 +8872 +3.245% cmd/link/internal/loadpe.s 19813 17572 -2241 -11.311% cmd/link/internal/loadmacho.s 20848 20767 -81 -0.389% cmd/link/internal/loadelf.s 24458 23896 -562 -2.298% cmd/link/internal/loadxcoff.s 11183 8913 -2270 -20.299% cmd/vendor/github.com/ianlancetaylor/demangle.s 264095 268313 +4218 +1.597% cmd/compile/internal/staticinit.s 13176 13292 +116 +0.880% cmd/go/internal/help.s 5180 5320 +140 +2.703% cmd/go/internal/workcmd.s 17702 17368 -334 -1.887% cmd/test2json.s 1581 1427 -154 -9.741% cmd/vendor/github.com/google/pprof/internal/measurement.s 8449 8700 +251 +2.971% cmd/go/internal/load.s 123087 125064 +1977 +1.606% cmd/vendor/golang.org/x/tools/internal/analysisinternal.s 11481 12506 +1025 +8.928% cmd/vendor/golang.org/x/tools/internal/typeparams.s 15239 15796 +557 +3.655% cmd/vendor/github.com/google/pprof/internal/symbolz.s 4760 4805 +45 +0.945% cmd/vendor/github.com/google/pprof/internal/binutils.s 37975 37526 -449 -1.182% cmd/vendor/github.com/google/pprof/internal/graph.s 47850 47968 +118 +0.247% cmd/go/internal/fmtcmd.s 2319 2373 +54 +2.329% cmd/vendor/github.com/google/pprof/internal/symbolizer.s 10195 10268 +73 +0.716% cmd/vendor/golang.org/x/tools/go/analysis.s 5790 6021 +231 +3.990% cmd/vendor/golang.org/x/tools/go/analysis/passes/internal/analysisutil.s 2246 2519 +273 +12.155% cmd/vendor/golang.org/x/tools/go/types/objectpath.s 15720 16601 +881 +5.604% cmd/vendor/golang.org/x/tools/go/ast/inspector.s 4537 5777 +1240 +27.331% cmd/go/internal/modcmd.s 47192 47738 +546 +1.157% cmd/vendor/golang.org/x/tools/go/analysis/internal/analysisflags.s 13575 14348 +773 +5.694% cmd/vendor/github.com/google/pprof/internal/report.s 79257 80089 +832 +1.050% cmd/link/internal/ld.s 553166 554375 +1209 +0.219% cmd/vendor/golang.org/x/tools/go/analysis/passes/asmdecl.s 29123 29957 +834 +2.864% cmd/vendor/golang.org/x/tools/go/analysis/passes/inspect.s 638 818 +180 +28.213% cmd/vendor/golang.org/x/tools/go/analysis/internal/facts.s 12934 13735 +801 +6.193% cmd/vendor/golang.org/x/tools/go/analysis/passes/buildtag.s 6903 7148 +245 +3.549% cmd/vendor/golang.org/x/tools/go/analysis/passes/cgocall.s 7953 8549 +596 +7.494% cmd/go/internal/work.s 271866 275488 +3622 +1.332% cmd/trace.s 98068 98671 +603 +0.615% cmd/vendor/github.com/google/pprof/internal/driver.s 145066 145844 +778 +0.536% cmd/link/internal/amd64.s 15589 15625 +36 +0.231% cmd/link/internal/arm.s 16490 16541 +51 +0.309% cmd/link/internal/arm64.s 31835 31684 -151 -0.474% cmd/go/internal/envcmd.s 21012 20787 -225 -1.071% cmd/go/internal/clean.s 9306 9233 -73 -0.784% cmd/go/internal/fix.s 1906 2086 +180 +9.444% cmd/go/internal/generate.s 10509 10758 +249 +2.369% cmd/go/internal/get.s 13782 14075 +293 +2.126% cmd/go/internal/run.s 4852 4914 +62 +1.278% cmd/go/internal/list.s 19576 19097 -479 -2.447% cmd/go/internal/bug.s 6253 5720 -533 -8.524% cmd/go/internal/modget.s 58449 59583 +1134 +1.940% cmd/go/internal/vet.s 7384 7228 -156 -2.113% cmd/go/internal/test.s 59654 60193 +539 +0.904% cmd/link/internal/riscv64.s 9856 9931 +75 +0.761% cmd/link/internal/ppc64.s 28471 27046 -1425 -5.005% cmd/link/internal/s390x.s 15081 15524 +443 +2.937% cmd/link/internal/wasm.s 16770 16817 +47 +0.280% cmd/link/internal/x86.s 14008 14093 +85 +0.607% cmd/vendor/github.com/google/pprof/driver.s 8046 8124 +78 +0.969% cmd/vendor/golang.org/x/tools/go/analysis/passes/assign.s 2010 2193 +183 +9.104% cmd/vendor/golang.org/x/tools/go/analysis/passes/atomic.s 2132 2335 +203 +9.522% cmd/go.s 6341 6546 +205 +3.233% cmd/vendor/golang.org/x/tools/go/analysis/passes/bools.s 6078 6348 +270 +4.442% cmd/vendor/golang.org/x/tools/go/analysis/passes/composite.s 4457 4789 +332 +7.449% cmd/vendor/golang.org/x/tools/go/analysis/passes/copylock.s 8814 9375 +561 +6.365% cmd/link.s 3829 4373 +544 +14.207% cmd/vendor/golang.org/x/tools/go/analysis/passes/framepointer.s 2007 2265 +258 +12.855% cmd/pprof.s 9881 10052 +171 +1.731% cmd/vendor/golang.org/x/tools/go/cfg.s 26215 27546 +1331 +5.077% cmd/vendor/golang.org/x/tools/go/analysis/passes/httpresponse.s 3500 4205 +705 +20.143% cmd/vendor/golang.org/x/tools/go/analysis/passes/ifaceassert.s 4790 5407 +617 +12.881% cmd/vendor/golang.org/x/tools/go/ast/astutil.s 50786 55269 +4483 +8.827% cmd/vendor/golang.org/x/tools/go/analysis/passes/nilfunc.s 1754 2033 +279 +15.906% cmd/vendor/golang.org/x/tools/go/analysis/passes/shift.s 4514 5262 +748 +16.571% cmd/vendor/golang.org/x/tools/go/analysis/passes/sigchanyzer.s 3455 3687 +232 +6.715% cmd/vendor/golang.org/x/tools/go/analysis/passes/stdmethods.s 8064 8249 +185 +2.294% cmd/vendor/golang.org/x/tools/go/analysis/passes/stringintconv.s 4547 4900 +353 +7.763% cmd/vendor/golang.org/x/tools/go/analysis/passes/structtag.s 6975 7584 +609 +8.731% cmd/vendor/golang.org/x/tools/go/analysis/passes/testinggoroutine.s 3375 3670 +295 +8.741% cmd/vendor/golang.org/x/tools/go/types/typeutil.s 12924 13870 +946 +7.320% cmd/vendor/golang.org/x/tools/go/analysis/passes/unsafeptr.s 3251 3557 +306 +9.412% cmd/vendor/golang.org/x/tools/go/analysis/passes/unreachable.s 6121 7575 +1454 +23.754% cmd/vendor/golang.org/x/tools/go/analysis/passes/tests.s 13925 14409 +484 +3.476% cmd/vendor/golang.org/x/tools/go/analysis/passes/unusedresult.s 2953 3159 +206 +6.976% cmd/vendor/golang.org/x/tools/go/analysis/unitchecker.s 11563 11962 +399 +3.451% cmd/vendor/golang.org/x/tools/go/analysis/passes/errorsas.s 1735 1933 +198 +11.412% cmd/vendor/golang.org/x/tools/go/analysis/passes/ctrlflow.s 4241 4486 +245 +5.777% cmd/vendor/golang.org/x/tools/go/analysis/passes/loopclosure.s 3107 3460 +353 +11.361% cmd/vendor/golang.org/x/tools/go/analysis/passes/unmarshal.s 1879 2141 +262 +13.944% cmd/vendor/golang.org/x/tools/go/analysis/passes/printf.s 28740 29317 +577 +2.008% cmd/vendor/golang.org/x/tools/go/analysis/passes/lostcancel.s 7188 7930 +742 +10.323% cmd/vet.s 1374 1554 +180 +13.100% cmd/compile/internal/ssa.s 3631074 3571680 -59394 -1.636% cmd/compile/internal/liveness.s 40423 40726 +303 +0.750% cmd/compile/internal/ssagen.s 361816 362743 +927 +0.256% cmd/compile/internal/mips64.s 16298 16330 +32 +0.196% cmd/compile/internal/loong64.s 17376 17440 +64 +0.368% cmd/compile/internal/mips.s 16121 16153 +32 +0.198% cmd/compile/internal/arm64.s 29294 29346 +52 +0.178% cmd/compile/internal/arm.s 26850 26882 +32 +0.119% cmd/compile/internal/amd64.s 30945 31034 +89 +0.288% cmd/compile/internal/dwarfgen.s 34464 35065 +601 +1.744% cmd/compile/internal/ppc64.s 31621 31733 +112 +0.354% cmd/compile/internal/wasm.s 11851 11889 +38 +0.321% cmd/compile/internal/s390x.s 24168 24183 +15 +0.062% cmd/compile/internal/x86.s 18090 18079 -11 -0.061% cmd/compile/internal/walk.s 295003 295945 +942 +0.319% cmd/compile/internal/noder.s 405458 403775 -1683 -0.415% cmd/compile/internal/pkginit.s 30757 31951 +1194 +3.882% cmd/compile/internal/gc.s 18788 18880 +92 +0.490% total 20334984 20041049 -293935 -1.445% package runtime/race/internal/amd64v3 was deleted package runtime/race/internal/amd64v1 was deleted Change-Id: Ibcd71480da1b53cfec4fa16c20f222b9a195e6da Reviewed-on: https://go-review.googlesource.com/c/go/+/431797 Reviewed-by: Keith Randall <khr@google.com> Run-TryBot: Jakub Ciolek <jakub@ciolek.dev> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
f57ebed351 |
cmd/go: allow -mod=vendor to be set outside of a module
It will behave as if teh command-line-arguments module was vendored, with zero dependencies, much as -mod=readonly works. Fixes #56536 Change-Id: Ia02dda2f90d006b5917c3ae002ccb714987f27a3 Reviewed-on: https://go-review.googlesource.com/c/go/+/448019 Reviewed-by: Michael Matloob <matloob@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Michael Matloob <matloob@golang.org> |
|
|
|
e87e799767 |
cmd/dist: define GOPPC64_{cpu} for PPC64 targets
This can be used to provide better instruction selection for assembly implementations without having to implement two variants and dynamic runtime selections when a newer GOPPC64 value is used. Change-Id: I4331037d57b128137280aa7904d08d362391f81e Reviewed-on: https://go-review.googlesource.com/c/go/+/449115 Run-TryBot: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com> Reviewed-by: Cherry Mui <cherryyz@google.com> |
|
|
|
059c3ed09f |
os/signal/internal/pty: use libc (not cgo) on macOS
This package is only used by tests anyway, but might as well remove the cgo use on macOS so that it doesn't show up as a cgo user, as part of our overall strategy to remove cgo use in the standard library on macOS. Change-Id: I5a1a39ed56373385f9d43a5e17098035dc1a451a Reviewed-on: https://go-review.googlesource.com/c/go/+/449315 TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> |
|
|
|
1e11eaa902 |
cmd/go/internal/load: remove a special case for "unsafe"
We had a special case to zero out the Target field for package "unsafe", which is not imported from a normal object file. As of CL 449376 that special case has been folded into go/build's logic for setting the PkgObj field, so the special case in cmd/go/internal/load has become redundant. (Noticed while investigating CL 449376.) Updates #47257. Updates #56687. Change-Id: I1668123aa6230097aa75e55380d3e2c7937c4b64 Reviewed-on: https://go-review.googlesource.com/c/go/+/449515 TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Michael Matloob <matloob@golang.org> |
|
|
|
79d9b395ad |
runtime: consolidate some low-level error reporting
Use a single writeErrStr function. Avoid using global variables. Use a single version of some error messages rather than duplicating the messages in OS-specific files. Change-Id: If259fbe78faf797f0a21337d14472160ca03efa0 Reviewed-on: https://go-review.googlesource.com/c/go/+/447055 Run-TryBot: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> |
|
|
|
fbf763fd1d |
net: unify TCP keepalive behavior
CL 107196 introduced a default TCP keepalive interval for Dialer and TCPListener (used by both ListenConfig and ListenTCP). Leaving DialTCP out was likely an oversight.
DialTCP's documentation says it "acts like Dial". Therefore it's natural to also expect DialTCP to enable TCP keepalive by default.
This commit addresses this disparity by moving the enablement logic down to the newTCPConn function, which is used by both dialer and listener.
Fixes #49345
Change-Id: I99c08b161c468ed0b993d1dbd2bd0d7e803f3826
GitHub-Last-Rev:
|
|
|
|
531ba0c8aa |
net/http: build error chains in transport that can be unwrapped
In some places of the HTTP transport errors were constructed that
wrapped other errors without providing the ability to call
`errors.Unwrap` on them to get the underlying error.
These places have been fixed to use `%w` when using `fmt.Errorf`
or to implement `Unwrap() error`.
Fixes #56435
Change-Id: Ieed3359281574485c8d0b18298e25e5f1e14555c
GitHub-Last-Rev:
|
|
|
|
eca7754148 |
crypto/internal/edwards25519: replace scalar field with fiat-crypto
This was the last piece of ref10 code, including the infamous "Christmas
tree" in scMulAdd, that approximately all Ed25519 implementations
inherited. Replace the whole scalar field implementation with a
fiat-crypto generated one, like those in crypto/internal/nistec/fiat.
The only complexity is the wide reduction (both for the 64-byte one and
for the clamped input). For that we do a limbed reduction suggested by
Frank Denis.
Some minor housekeeping and test changes from filippo.io/edwards25519
are included, as part of syncing with downstream.
Ignoring the autogenerated file, the diff is
268 insertions(+), 893 deletions(-)
George Tankersley signed the Individual CLA and authorized me to submit
this change on his behalf at the time he contributed it to
filippo.io/edwards25519.
Co-authored-by: George Tankersley <george.tankersley@gmail.com>
Change-Id: I4084b4d3813f36e16b3d8839df75da1b4fd7846b
Reviewed-on: https://go-review.googlesource.com/c/go/+/420454
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Filippo Valsorda <filippo@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
|
|
|
|
3fc8ed2543 |
internal/reflectlite: use unsafe.String in name.name and name.tag
Same as CL 448675 did in package reflect. Change-Id: I26277d8dcf2d2e204724d6fa5cc6e1ad391633f5 Reviewed-on: https://go-review.googlesource.com/c/go/+/448936 Reviewed-by: Michael Knyszek <mknyszek@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Ian Lance Taylor <iant@google.com> |
|
|
|
1309f0c51d |
os: document that WriteFile is not atomic
Fixes #56173
Change-Id: I03a3ad769c99c0bdb78b1d757173d630879fd4dd
GitHub-Last-Rev:
|
|
|
|
d931b3b771 |
net: add support for /etc/hosts aliases using go resolver
It adds support for /etc/hosts aliases and fixes the difference between the glibc cgo and the go DNS resolver.
Examples: https://pastebin.com/Fv6UcAVr
Fixes #44741
Change-Id: I98c484fced900731fbad800278b296028a45f044
GitHub-Last-Rev:
|
|
|
|
fd0c0db4a4 |
net/http: add ResponseController and per-handler timeouts
The ResponseController type provides a discoverable interface
to optional methods implemented by ResponseWriters.
c := http.NewResponseController(w)
c.Flush()
vs.
if f, ok := w.(http.Flusher); ok {
f.Flush()
}
Add the ability to control per-request read and write deadlines
via the ResponseController SetReadDeadline and SetWriteDeadline
methods.
For #54136
Change-Id: I3f97de60d4c9ff150cda559ef86c6620eee665d2
Reviewed-on: https://go-review.googlesource.com/c/go/+/436890
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
|
|
|
|
94b03081f4 |
net/http: add tests for Server.ReadTimeout and server.WriteTimeout
We don't seem to have tests verifying that handler reads from the request body or writes to the response body time out properly. Add some. For #49837 For #56478 Change-Id: I0828edd6c86b071073fd1b22ccbb24f86114ab94 Reviewed-on: https://go-review.googlesource.com/c/go/+/446255 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Damien Neil <dneil@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
2cea6cdb60 |
cmd/internal/obj: adjust (*Link).AllPos comment in inl.go
AllPos truncates and overwrites its slice-storage input instead of appending. This makes that clear. Change-Id: I81653ff49a4a7d14fe9446fd6620943f3b20bbd3 Reviewed-on: https://go-review.googlesource.com/c/go/+/449478 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@google.com> Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> |
|
|
|
7717ac151a |
runtime: make Malloc benchmarks actually benchmark malloc
The compiler is too clever so the allocations are currently avoided. Rewrite to make them actually allocate. Change-Id: I9542e1365120b2ace318360883b0b01ed5670da7 Reviewed-on: https://go-review.googlesource.com/c/go/+/449476 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> |
|
|
|
05cc8b5369 |
go/build: omit PkgObj for packages "unsafe" and "builtin"
Package "builtin" is not a real, importable package; it exists only for documentation. Package "unsafe" is not compiled into an object file from its source code; instead, imports of "unsafe" are handled specially by the compiler. (In Go 1.19.3, package "unsafe" did not have an install target, while package "builtin" did but that target was never written.) Fixes #56687. Updates #47257. Change-Id: I1d1e90ff9e1629b80e0df93e1f7e17242c8dab69 Reviewed-on: https://go-review.googlesource.com/c/go/+/449376 Reviewed-by: Michael Matloob <matloob@golang.org> Run-TryBot: Bryan Mills <bcmills@google.com> Auto-Submit: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
b820fb8df1 |
go/build: in TestImportDirTarget, only expect an install target when cgo is enabled
As of CL 448803, packages in GOROOT only have install targets when they have cgo source files. When cgo is not enabled, that condition is necessarily false, and no install target will exist. For #47257. Change-Id: I653a9c5f89d18a5841810f3de8d490bd7cb7e922 Reviewed-on: https://go-review.googlesource.com/c/go/+/449375 Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org> Auto-Submit: Bryan Mills <bcmills@google.com> |
|
|
|
d33043d37d |
cmd/compile: add ability to hash-debug on file:line, including inlining
Modified the fmahash gc debug flag to use this, and modified the test to check for a hash match that includes inlining. Also made the test non-short to ensure portability. Note fma.go has been enhanced into an FMA test that requires two separate FMAs in order to "fail"; if either one is 2-rounding, then it "passes". (It neither passes nor fails here; its role is to demonstrate that the FMAs are correctly reported; the enhanced failure mode was discovered while testing the search tool.) Change-Id: I4e328e3654f442d498eac982135420abb59c5434 Reviewed-on: https://go-review.googlesource.com/c/go/+/448358 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Run-TryBot: David Chase <drchase@google.com> |
|
|
|
271f139f17 |
internal/types: fix the iota value in error code declarations
The new "InvalidSyntaxTree" node in the error code declaration inadvertently incremented the value of iota by 1. Fix this by moving it to its own declaration. Change-Id: I34b33a8caddbbb9e41f431321ec0e5863dc15055 Reviewed-on: https://go-review.googlesource.com/c/go/+/449475 Run-TryBot: Robert Findley <rfindley@google.com> Auto-Submit: Robert Findley <rfindley@google.com> Reviewed-by: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
d3726f3469 |
cmd/compile/internal/importer: turn off debugging output
Also, remove `debug` constant. Was not used. Follow-up on CL 442303. Fixes #56681. Change-Id: Ia1499511ba553670617bcb9b7c699412e8df0669 Reviewed-on: https://go-review.googlesource.com/c/go/+/449238 Reviewed-by: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Robert Griesemer <gri@google.com> Auto-Submit: Robert Griesemer <gri@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> |
|
|
|
a11cd6f69a |
go/doc: recognize methods on generic types as Funcs
When writing markdown for godoc, we can reference a method M of a type T as [T.M]. This doesn't currently work for methods on generic types because the declaration of the type parameter gets in the way. (You'd have to write [T[P].M] and that doesn't parse, and even if it did you'd have to spell "P" correctly.) Get rid of the type parameter when building the list of Funcs so [T.M] works in godoc if T is generic. Change-Id: I8ef5264124a944967df3ce20ddd40a2447ff4187 Reviewed-on: https://go-review.googlesource.com/c/go/+/449236 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Robert Griesemer <gri@google.com> Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> |
|
|
|
c3d444d098 |
os/user: allocate buffers in Go memory, not C memory
Since the first implementation of os/user, it's called C malloc to allocate memory for buffers. However, the buffers are just used for temporary storage, and we can just a []byte instead. To make this work without causing cgo pointer errors, we move the pwd and grp structs into C stack memory, and just return them. It's OK to store a Go pointer on the C stack temporarily. Change-Id: I9f8ffb6e51df1e585276c259fe99359d7835df87 Reviewed-on: https://go-review.googlesource.com/c/go/+/449335 Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> |
|
|
|
d2aa787f2a |
expvar: convert f to atomic type
For #53821
Change-Id: I2e7c5376e6ca3e3dbb2f92ad771aed62fca8b793
GitHub-Last-Rev:
|
|
|
|
db259cdd80 |
cmd/go: cache compiler flag info
When you run 'go env' or any command that needs to consider
what the default gcc flags are (such as 'go list net' or
'go list <any package with net as a dependency>'),
the go command runs gcc (or clang) a few times to see what
flags are available.
These runs can be quite expensive on some systems, particularly
Macs that seem to need to occasionally cache something before
gcc/clang can execute quickly.
To fix this, cache the derived information about gcc under a cache
key derived from the size and modification time of the compiler binary.
This is not foolproof, but it should be good enough.
% go install cmd/go
% time go env >/dev/null
0.22 real 0.01 user 0.01 sys
% time go env >/dev/null
0.03 real 0.01 user 0.01 sys
%
Fixes #50982.
Change-Id: Iba7955dd10f610f2793e1accbd2d06922f928faa
Reviewed-on: https://go-review.googlesource.com/c/go/+/392454
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Russ Cox <rsc@golang.org>
Auto-Submit: Russ Cox <rsc@golang.org>
|
|
|
|
cb6e4f08c2 |
cmd/api: point to API docs in all.bash failure
When people add new API and get an all.bash failure, they often don't know about the API checker at all. Point to the README in the failure message, to try to help them find what they need to know. Change-Id: I6b148ec414d212033b371357a5e8c6ab79bb50a4 Reviewed-on: https://go-review.googlesource.com/c/go/+/449015 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org> |
|
|
|
e48fc2665e |
crypto: allow hash.Hash for OAEP and MGF1 to be specified independently
crypto/rsa assumes RSA OAEP uses the same hash to be used for both the label and the mask generation function. However, implementations in other languages, such as Java and Python, allow these parameters to be specified independently. This change allows the MGF hash to be specified independently for decrypt operations in order to allow decrypting ciphertexts generated in other environments. Fixes: #19974 Change-Id: If453d628f0da354ceb3b52863f30087471670f7b Reviewed-on: https://go-review.googlesource.com/c/go/+/418874 Auto-Submit: Andrew Bonventre <andybons@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Robert Griesemer <gri@google.com> Reviewed-by: Andrew Bonventre <andybons@golang.org> Run-TryBot: Andrew Bonventre <andybons@golang.org> |
|
|
|
89332e037a |
encoding/xml: error when more than one colon in qualified names
Add test. Fixes #20396 Change-Id: I89e9013eb338f831e1908e390b284794df78fb6b Reviewed-on: https://go-review.googlesource.com/c/go/+/103875 Auto-Submit: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> |