summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* runtime: remove crash_cgo_test CgoRaceSignal timeoutIan Lance Taylor2023-05-122-14/+1
| | | | | | | | | | | | | | | | | | The test had a 5 second timeout. Running the test on a Darwin system sometimes took less than 5 seconds but often took up to 8 seconds. We don't need a timeout anyhow. Instead, use testenv.Command to run the program, which uses the test timeout. Fixes #59807 Change-Id: Ibf3eda9702731bf98601782f4abd11c3caa0bf40 Reviewed-on: https://go-review.googlesource.com/c/go/+/494456 Run-TryBot: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
* net: don't treat unknown sources as dns when there is a dns sourceMateusz Poliwczak2023-05-112-10/+44
| | | | | | | | | | | | | Change-Id: I3a6c3a804604b1e74a1ea6b66ab2c932a0ac973a GitHub-Last-Rev: ea5403549a51a29a2799674d74425b480253d2f1 GitHub-Pull-Request: golang/go#60025 Reviewed-on: https://go-review.googlesource.com/c/go/+/493236 Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Mateusz Poliwczak <mpoliwczak34@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* net: clear /etc/hosts cache on fs.ErrNotExist and fs.ErrPermission errorsMateusz Poliwczak2023-05-111-36/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was also the cause of my issues in CL 455275 Before: root@arch:~/aa# $(time sleep 5 && mv /etc/hosts /tmp/hosts) & [1] 2214 root@arch:~/aa# go run main.go [232.223.232.123] <nil> [232.223.232.123] <nil> [232.223.232.123] <nil> [232.223.232.123] <nil> [232.223.232.123] <nil> [232.223.232.123] <nil> (....) After: root@arch:~/aa# $(time sleep 5 && mv /etc/hosts /tmp/hosts) & [1] 2284 root@arch:~/aa# go run main.go [232.223.232.123] <nil> [232.223.232.123] <nil> [232.223.232.123] <nil> [232.223.232.123] <nil> [232.223.232.123] <nil> [] lookup sth on 127.0.0.53:53: server misbehaving [] lookup sth on 127.0.0.53:53: server misbehaving Change-Id: I3090fd8f3105db8c2d7c3bf5afe7b18ebca61cda GitHub-Last-Rev: cb0dac6448bbc337cd015ad4b4b3d1da3f14a561 GitHub-Pull-Request: golang/go#59963 Reviewed-on: https://go-review.googlesource.com/c/go/+/492555 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Run-TryBot: Mateusz Poliwczak <mpoliwczak34@gmail.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
* runtime: save/fetch g register during VDSO on linux/loong64Guoqi Chen2023-05-112-5/+41
| | | | | | | | | | | | | | | | | | Like arm64, ppc64 and risv64, on loong64, the G register may be temporarily broken during a VDSO call. If a signal is received during a VDSO call, an invalid G may be obtained. See #34391. Change-Id: Iaffa8cce4f0ef8ef74225c355ec3c20ed238025f Reviewed-on: https://go-review.googlesource.com/c/go/+/426355 Reviewed-by: WANG Xuerui <git@xen0n.name> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Run-TryBot: WANG Xuerui <git@xen0n.name> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
* net: return fallbackOrder immediately for some GOOSMateusz Poliwczak2023-05-111-0/+6
| | | | | | | | | | | | | | | | We don't need to check resolv.conf, nsswitch.conf on these systems. Seems like this was the behaviour before CL 487196. Change-Id: I34ef3510891c572772a222fbbe47693aa6c7cf38 GitHub-Last-Rev: 3aace0e6615b79bbf379e05ca3a353e194dc7c0b GitHub-Pull-Request: golang/go#59946 Reviewed-on: https://go-review.googlesource.com/c/go/+/491995 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Mateusz Poliwczak <mpoliwczak34@gmail.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
* syscall: implement wasip1 SetNonblock and IsNonblockChris O'Hara2023-05-114-5/+55
| | | | | | | | | | | | | | | | | | | | | Allows for the NONBLOCK file descriptor flag to be set and queried on wasip1. syscall.SetNonblock uses the fd_fdstat_set_flags WASI system call and unix.IsNonblock uses the fd_fdstat_get system call. This is a prerequisite for non-blocking I/O support. Change-Id: I2bf79fd57142b2ec53eed3977d9aac8c6337eb80 Reviewed-on: https://go-review.googlesource.com/c/go/+/493356 Auto-Submit: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> Run-TryBot: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> Reviewed-by: Julien Fabre <ju.pryz@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Achille Roussel <achille.roussel@gmail.com>
* runtime: remove unused traceFutileWakeupMichael Anthony Knyszek2023-05-111-12/+2
| | | | | | | | | | | Also, document traceEvFutileWakeup as not currently used. Change-Id: I75831a43d39b6c6ceb5a9b6320c3ae9455681572 Reviewed-on: https://go-review.googlesource.com/c/go/+/494184 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Michael Knyszek <mknyszek@google.com> Reviewed-by: Michael Pratt <mpratt@google.com>
* runtime: hide trace.shutdown behind traceShuttingDownMichael Anthony Knyszek2023-05-112-2/+7
| | | | | | | | | Change-Id: I0b123e65f40570caeee611679d80dc27034d5a52 Reviewed-on: https://go-review.googlesource.com/c/go/+/494183 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com> Auto-Submit: Michael Knyszek <mknyszek@google.com>
* runtime: replace trace.enabled with traceEnabledMichael Anthony Knyszek2023-05-118-60/+60
| | | | | | | | | | | | | [git-generate] cd src/runtime grep -l 'trace\.enabled' *.go | grep -v "trace.go" | xargs sed -i 's/trace\.enabled/traceEnabled()/g' Change-Id: I14c7821c1134690b18c8abc0edd27abcdabcad72 Reviewed-on: https://go-review.googlesource.com/c/go/+/494181 Run-TryBot: Michael Knyszek <mknyszek@google.com> Auto-Submit: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com>
* cmd/compile/internal/pgo/internal/graph: delete dead codeMichael Pratt2023-05-112-329/+0
| | | | | | | | | | | | We don't use large swaths of this package. Delete the code. We can always bring it back later if needed. Change-Id: I6b39a73ed9c48d2d5b37c14763d7bb7956f3ef43 Reviewed-on: https://go-review.googlesource.com/c/go/+/494438 Run-TryBot: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Michael Pratt <mpratt@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
* cmd/compile/internal/pgo: move pprof graph to internal packageMichael Pratt2023-05-112-8/+9
| | | | | | | | | | | | | | | | | graph.go is a simplified fork of github.com/google/pprof/internal/graph, which is used as an intermediate data structure to construct the final graph exported by package pgo (IRGraph). Exporting both is a bit confusing as the former is unused outside of the package. Since the naming is also similar, move graph.go to its own package entirely. Change-Id: I2bccb3ddb6c3f63afb869ea9cf34d2a261cad058 Reviewed-on: https://go-review.googlesource.com/c/go/+/494437 Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Michael Pratt <mpratt@google.com>
* cmd/link: check DWARF section sizes separatelyCherry Mui2023-05-111-2/+12
| | | | | | | | | | | | | Currently, we check the total size of all data+DWARF sections doesn't exceed 2 GB, which doesn't make sense. We should check data and DWARF separately. And for DWARF, check each section separately, as we use section offset for references. Change-Id: I723cde6a2f46e55cc5cb0621926722272581eb48 Reviewed-on: https://go-review.googlesource.com/c/go/+/494439 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Than McIntosh <thanm@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com>
* runtime: add traceEnabled functionMichael Anthony Knyszek2023-05-111-0/+5
| | | | | | | | | | | | | | | This change introduces the trivial traceEnabled function to help tighten up the execution tracer's API in preparation for the execution trace redesign GOEXPERIMENT. A follow-up change will refactor the runtime to use it. Change-Id: I19c8728e30aefe543b4a826d95446affa14897e3 Reviewed-on: https://go-review.googlesource.com/c/go/+/494180 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Michael Knyszek <mknyszek@google.com> Reviewed-by: Michael Pratt <mpratt@google.com>
* runtime: hide trace lock init detailsMichael Anthony Knyszek2023-05-112-4/+9
| | | | | | | | | | | | This change is in service of hiding more execution trace implementation details for big changes to come. Change-Id: I49b9716a7bf285d23c86b58912a05eff4ddc2213 Reviewed-on: https://go-review.googlesource.com/c/go/+/494182 Reviewed-by: Michael Pratt <mpratt@google.com> Run-TryBot: Michael Knyszek <mknyszek@google.com> Auto-Submit: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* cmd/compile: remove "WORK IN PROGRESS" from package pgoMichael Pratt2023-05-111-2/+0
| | | | | | | | | | | | Work continues on PGO, but the existing support is certainly working. Change-Id: Ic6724b9b3f174f24662468000d771f7651bb18b0 Reviewed-on: https://go-review.googlesource.com/c/go/+/494435 Auto-Submit: Michael Pratt <mpratt@google.com> Run-TryBot: Michael Pratt <mpratt@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Commit-Queue: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* os: make Chtimes accept empty time values to skip file time modificationConstantin Konstantinidis2023-05-1118-8/+232
| | | | | | | | | | | | | | | | Empty time value time.Time{} leaves the corresponding time of the file unchanged. Fixes #32558 Change-Id: I1aff42f30668ff505ecec2e9509d8f2b8e4b1b6a Reviewed-on: https://go-review.googlesource.com/c/go/+/219638 TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
* Revert "runtime: rename getcallerfp to getfp"Michael Pratt2023-05-1115-35/+26
| | | | | | | | | | | | | | This reverts CL 481617. Reason for revert: breaks test build on Windows Change-Id: Ifc1a323b0cc521e7a5a1f7de7b3da667f5fee375 Reviewed-on: https://go-review.googlesource.com/c/go/+/494377 Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Auto-Submit: Michael Pratt <mpratt@google.com> Run-TryBot: Michael Pratt <mpratt@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* net: force cgo for myhostname and mdns nss modules for LookupAddr on unixMateusz Poliwczak2023-05-113-49/+96
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently there is a small bug in the LookupAddr for unix systems that causes the use of go resolver instead of the cgo one. Example for nss myhostname: func main() { fmt.Println(net.LookupAddr(os.Args[1])) } root@arch:~# cat /etc/nsswitch.conf | grep host hosts: myhostname dns root@arch:~# GODEBUG=netdns=+3 go run main.go 192.168.1.200 go package net: confVal.netCgo = false netGo = false go package net: dynamic selection of DNS resolver go package net: hostLookupOrder() = dns [] lookup 200.1.168.192.in-addr.arpa. on 8.8.8.8:53: no such host root@arch:~# GODEBUG=netdns=go+3 go run main.go 192.168.1.200 go package net: confVal.netCgo = false netGo = true go package net: GODEBUG setting forcing use of Go's resolver go package net: hostLookupOrder() = dns [] lookup 200.1.168.192.in-addr.arpa. on 8.8.8.8:53: no such host root@arch:~# GODEBUG=netdns=cgo+3 go run main.go 192.168.1.200 go package net: confVal.netCgo = true netGo = false go package net: using cgo DNS resolver go package net: hostLookupOrder() = cgo [arch] <nil> The problem come from that we are only checking for hostnames that the myhostname can resolve, but not for the addrs that it can also. man nss-myhostname: Please keep in mind that nss-myhostname (and nss-resolve) also resolve in the other direction — from locally attached IP addresses to hostnames. Change-Id: Ic18a9f99a2214b2938463e9a95f7f3ca5db1c01b GitHub-Last-Rev: ade40fd3e3057de418b9b6a79f79fb9a53fb6c09 GitHub-Pull-Request: golang/go#59921 Reviewed-on: https://go-review.googlesource.com/c/go/+/491235 Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Mateusz Poliwczak <mpoliwczak34@gmail.com>
* net: use the lookupOrder for go resolver LookupAddrMateusz Poliwczak2023-05-114-13/+26
| | | | | | | | | | | | | | | To mach the cgo version behaviour and the LookupHost (go resolver). Change-Id: I7dc3424d508a62e67f20c7810743399c35a9b60c GitHub-Last-Rev: 29924c13a6c0598bf58b7fc3fae74b10bab0f0ee GitHub-Pull-Request: golang/go#60024 Reviewed-on: https://go-review.googlesource.com/c/go/+/493235 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com>
* cmd/compile: remove go:wasmimport restrictionJohan Brandhorst-Satzkorn2023-05-111-4/+0
| | | | | | | | | | | | | | | Removes the package restriction on go:wasmimport, allowing the use of it globally and in user code. Fixes #59149 Change-Id: Ib26f628dc8dafb31388005b50449e91b47dab447 Reviewed-on: https://go-review.googlesource.com/c/go/+/489255 TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> Reviewed-by: Eli Bendersky <eliben@google.com> Auto-Submit: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
* runtime: rename getcallerfp to getfpFelix Geisendörfer2023-05-1115-26/+35
| | | | | | | | | | | | | | | | | | | | | The previous name was wrong due to the mistaken assumption that calling f->g->getcallerpc and f->g->getcallersp would respectively return the pc/sp at g. However, they are actually referring to their caller's caller, i.e. f. Rename getcallerfp to getfp in order to stay consistent with this naming convention. Also see discussion on CL 463835. For #16638 Change-Id: I07990645da78819efd3db92f643326652ee516f8 Reviewed-on: https://go-review.googlesource.com/c/go/+/481617 Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Run-TryBot: Felix Geisendörfer <felix.geisendoerfer@datadoghq.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* misc/wasm: add wasmedge to wasip1 scriptJohan Brandhorst-Satzkorn2023-05-111-0/+3
| | | | | | | | | | | | | | | The wasmedge runtime will be used to test our wasip1 implementation against the WASI runtime from wasmedge.org. For #60097 Change-Id: Ib0e886de46240b4d43d02ec8a7bc7cea0730c162 Reviewed-on: https://go-review.googlesource.com/c/go/+/494120 Reviewed-by: Cherry Mui <cherryyz@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
* cmd/compile: remove debugging option InlineSCCOnePass from inlinerThan McIntosh2023-05-112-19/+8
| | | | | | | | | | | | | | | | Delete the "InlineSCCOnePass" debugging flag and the inliner fallback code that kicks in if it is used. The change it was intended to guard has been working on tip for some time, no need for the fallback any more. Updates #58905. Change-Id: I2e1dbc7640902d9402213db5ad338be03deb96c5 Reviewed-on: https://go-review.googlesource.com/c/go/+/492015 Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* internal/reflectlite: common up types, remove codeDavid Chase2023-05-114-261/+160
| | | | | | | | | Change-Id: I4d3ef025b935e52c47896f69814ba2f1a504d749 Reviewed-on: https://go-review.googlesource.com/c/go/+/489375 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: David Chase <drchase@google.com>
* runtime: move per-type types to internal/abiDavid Chase2023-05-1120-523/+392
| | | | | | | | | Change-Id: I1f031f0f83a94bebe41d3978a91a903dc5bcda66 Reviewed-on: https://go-review.googlesource.com/c/go/+/489276 Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* runtime: redefine _type to abi.Type; add rtype for methods.David Chase2023-05-1119-75/+76
| | | | | | | | | Change-Id: I1c478b704d84811caa209006c657dda82d9c4cf9 Reviewed-on: https://go-review.googlesource.com/c/go/+/488435 Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@google.com>
* internal/bisect: copy parser changes from CL 494177Russ Cox2023-05-112-24/+45
| | | | | | | | | | | x/tools/cmd/bisect is changing to emit hex skips for robustness. Update this copy of internal/bisect to understand them. Change-Id: Ie9445714e8e9fb594e656db2f94dcde9b6ce82d1 Reviewed-on: https://go-review.googlesource.com/c/go/+/494178 Reviewed-by: David Chase <drchase@google.com> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
* reflect: change rtype so that it (not *rtype) implements TypeDavid Chase2023-05-116-137/+145
| | | | | | | | | | | | | The abi.Type field was changed to *abi.Type, thus the bitwise representation is the same, many casts are now avoided and replace by either rtype{afoo} or rfoo.Type. Change-Id: Ie7643edc714a0e56027c2875498a4dfe989cf7dd Reviewed-on: https://go-review.googlesource.com/c/go/+/487558 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* reflect: replacing almost all use of *rtype with *abi.TypeDavid Chase2023-05-118-487/+495
| | | | | | | | | Change-Id: I3601525b10237d828c449c62a3447f66cb6f025e Reviewed-on: https://go-review.googlesource.com/c/go/+/487557 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* reflect: move funcType to abi/type.goDavid Chase2023-05-104-97/+74
| | | | | | | | | Change-Id: I381229ba67a39487cdcc60da1c73d33b0a7d494a Reviewed-on: https://go-review.googlesource.com/c/go/+/487556 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: David Chase <drchase@google.com>
* reflect: prepare fieldnames for moving to abi/type.goDavid Chase2023-05-105-341/+216
| | | | | | | | | Change-Id: Ia8e88029d29a1210dc7a321578e61336e235f35a Reviewed-on: https://go-review.googlesource.com/c/go/+/487555 Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org>
* internal/abi,reflectlite,reflect,runtime: common up chan typeDavid Chase2023-05-107-58/+48
| | | | | | | | | Change-Id: I085b61c544b85d70fabb1c0d9fe91207826dd21a Reviewed-on: https://go-review.googlesource.com/c/go/+/484858 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@google.com>
* reflect: move more types, constants, functions into internal/abiDavid Chase2023-05-107-224/+178
| | | | | | | | | Change-Id: Ib9cd15576896225e7c5e6fda11f1a77f6993a91a Reviewed-on: https://go-review.googlesource.com/c/go/+/484857 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@google.com>
* internal/reflectlite, runtime: move more constants and types into internal/abiDavid Chase2023-05-109-259/+90
| | | | | | | | | Change-Id: If5da1057ead34eb3e4c7f42bbe6ad3d350b97725 Reviewed-on: https://go-review.googlesource.com/c/go/+/484856 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* internal/abi: common up ArrayTypeDavid Chase2023-05-1012-64/+49
| | | | | | | | | | | | | | | | This refactoring is more problematic because the client package wrap abi.Type, thus the self-referential fields within ArrayType need to be downcast to the client wrappers in several places. It's not clear to me this is worthwhile; this CL is for additional comment, before I attempt similar changes for other self-referential types. Change-Id: I41e517e6d851b32560c41676b91b76d7eb17c951 Reviewed-on: https://go-review.googlesource.com/c/go/+/466236 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Keith Randall <khr@google.com>
* internal/abi: common up some offset/size functionsDavid Chase2023-05-102-12/+13
| | | | | | | | | Change-Id: I92eeed20af35c7dec309457a80b8fd44eb70b57f Reviewed-on: https://go-review.googlesource.com/c/go/+/467876 Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@google.com>
* cmd/link: clean up per-binary slice creation in ldDavid Chase2023-05-101-45/+42
| | | | | | | | | | | | A code cleanup opportunity noticed while trying to make slices be aligned. Change-Id: I34a807b4cf67d9b4a136c83714a34ffe71dcb166 Reviewed-on: https://go-review.googlesource.com/c/go/+/462757 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* internal/abi: common up Method, Imethod, UncommonType typesDavid Chase2023-05-1010-194/+107
| | | | | | | | | | | | was two commits, the first contained a lot of intermediate work, better this way. Change-Id: I7c5b79ef78b21a85828c8aaf9baeae86bb144db7 Reviewed-on: https://go-review.googlesource.com/c/go/+/463118 Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* internal/godebug: make test godebug calls not varyDavid Chase2023-05-101-5/+13
| | | | | | | | | | | | | I think there may be an issue in bisect search with change set elements not actually being independent, to be explored later. For now, modify the test to remove that property. Change-Id: I4b171bc024795d950cf4663374ad1dfc4e2952fc Reviewed-on: https://go-review.googlesource.com/c/go/+/494036 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
* html: convert fuzz test to native Go fuzzingTobias Klauser2023-05-102-31/+22
| | | | | | | | | | | | | Convert the existing gofuzz based fuzz test to a testing.F based fuzz test. Change-Id: Ieae69ba7fb17bd54d95c7bb2f4ed04c323c9f15f Reviewed-on: https://go-review.googlesource.com/c/go/+/494195 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
* cmd/compile: add ability to print extra information in bisect outputRuss Cox2023-05-105-41/+45
| | | | | | | | Change-Id: I619c21ab9754f67b69215cfed238a3e489c7fbcf Reviewed-on: https://go-review.googlesource.com/c/go/+/493955 Reviewed-by: David Chase <drchase@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Russ Cox <rsc@golang.org>
* net/http: let ErrNotSupported match errors.ErrUnsupportedIan Lance Taylor2023-05-103-0/+13
| | | | | | | | | | | | For #41198 Change-Id: Ibb030e94618a1f594cfd98ddea214ad7a88d2e73 Reviewed-on: https://go-review.googlesource.com/c/go/+/494122 Auto-Submit: Ian Lance Taylor <iant@golang.org> Reviewed-by: Damien Neil <dneil@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* go/types, types2: move xlist next to targs in Checker.arguments signatureRobert Griesemer2023-05-104-12/+12
| | | | | | | | | | | | | | | | | targs and xlist belong together (xlist contains the type expressions for each of the type arguments). Also, in builtins.go, rename xlist to alist2 to avoid some confusion. Preparation for adding more parameters to the Checker.arguments signature. Change-Id: I960501cfd2b88410ec0d581a6520a4e80fcdc56a Reviewed-on: https://go-review.googlesource.com/c/go/+/494121 Auto-Submit: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Robert Griesemer <gri@google.com> Reviewed-by: Robert Griesemer <gri@google.com> Reviewed-by: Robert Findley <rfindley@google.com>
* cmd/compile: add De Morgan's rewrite ruleStefan2023-05-103-0/+196
| | | | | | | | | | | | | | | Adds rules that rewrites statements such as ~P&~Q as ~(P|Q) and ~P|~Q as ~(P&Q), removing an extraneous instruction. Change-Id: Icedb97df741680ddf9799df79df78657173aa500 GitHub-Last-Rev: f22e2350c95e9052e990b2351c3c2b0af810e381 GitHub-Pull-Request: golang/go#60018 Reviewed-on: https://go-review.googlesource.com/c/go/+/493175 Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Stefan M <st3f4nm4d4@gmail.com> Reviewed-by: Keith Randall <khr@google.com> Run-TryBot: Cherry Mui <cherryyz@google.com> Reviewed-by: Cherry Mui <cherryyz@google.com>
* go/types, types2: control type inference in Checker.funcInst via infer argumentRobert Griesemer2023-05-104-24/+60
| | | | | | | | | | | | | | | | | | | | | If the infer argument is true, funcInst behaves as before. If infer is false and there are not enough type arguments, rather then inferring the missing arguments and instantiating the function, funcInst returns the found type arguments. This permits the use of funcInst (and all the checks it does) to collect the type arguments for partially instantiated generic functions used as arguments to other functions. For #59338. Change-Id: I049034dfde52bd7ff4ae72964ff1708e154e5042 Reviewed-on: https://go-review.googlesource.com/c/go/+/494118 Reviewed-by: Robert Griesemer <gri@google.com> Run-TryBot: Robert Griesemer <gri@google.com> Auto-Submit: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
* cmd/go/internal: update documentation of go test and go generateShogo Hida2023-05-103-0/+18
| | | | | | | | | | | | | | Fixes #57050 Change-Id: I46cac667ff78ac171c878f4366f8f01f58f1d27d GitHub-Last-Rev: 697c255ece18cd4772b76d62991474a7da2536d8 GitHub-Pull-Request: golang/go#57814 Reviewed-on: https://go-review.googlesource.com/c/go/+/461683 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com>
* cmd/go/internal/modload: skip reading go.mod files for imports in 'go mod ↵Bryan C. Mills2023-05-103-7/+34
| | | | | | | | | | | | | | | | | | | | | | | | tidy' of modules before 'go 1.21' This eliminate a network access in 'go mod tidy' of an already-tidy module, which would otherwise be needed to fetch go.mod checksums for the test dependencies whose go.mod checksums were omitted in Go releases between Go 1.17 and 1.20 due to bug #56222. For modules between 'go 1.17' and 'go 1.20' we intentionally preserve the old 'go mod tidy' output (omitting go.sum entries for the go.mod files of test dependencies of external packages). We should also avoid performing extra sumdb lookups for checksums that would be discarded anyway. Updates #56222. Change-Id: I7f0f1c8e902db0e3414c819621c4b99052f503f0 Reviewed-on: https://go-review.googlesource.com/c/go/+/492741 Auto-Submit: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Carlos Amedee <carlos@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org>
* cmd/internal/obj/riscv: regenerate instruction encoding tableMeng Zhuo2023-05-103-393/+355
| | | | | | | | | | | | | | | | | | | | | | | | | | | This CL updates riscv instructions by https://github.com/riscv/riscv-opcodes which adds instruction: APAUSE And removes the following unused instructions: AFENCEI AFMVQX AFMVXQ AHFENCEGVMA AHFENCEVVMA ASLLIRV32 ASRAIRV32 ASRLIRV32 AURET Change-Id: I314570c643af3e6bbc9d2cd471b6b39985bcbdff Reviewed-on: https://go-review.googlesource.com/c/go/+/409415 Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Benny Siegert <bsiegert@gmail.com> Reviewed-by: Joel Sing <joel@sing.id.au> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: M Zhuo <mzh@golangcn.org>
* go/types, types2: explicitly look for nil type arguments in inferRobert Griesemer2023-05-102-14/+26
| | | | | | | | | | | | | | | | | | | Don't assume we have all type arguments if the number of type arguments matches the number of type parameters. Instead, look explicitly for nil type arguments in the provided targs. Preparation for type inference with type arguments provided for type parameters of generic function arguments passed to other functions. For #59338. Change-Id: I00918cd5ed06ae3277b4e41a3641063e0f53fef0 Reviewed-on: https://go-review.googlesource.com/c/go/+/494115 Reviewed-by: Robert Griesemer <gri@google.com> Run-TryBot: Robert Griesemer <gri@google.com> Reviewed-by: Robert Findley <rfindley@google.com> Auto-Submit: Robert Griesemer <gri@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
* encoding/csv: update doc comment of Read methodIvoGoman2023-05-101-2/+3
| | | | | | | | | | | | | | | | | This updates the doc comment to reflect the behavior of the method. On error the method returns a partial result. Fixes #59991 Change-Id: I71e9dfa37e0488c85abd3eeede2a1a34cb74239b GitHub-Last-Rev: 389488e5364dc939f0cbd11f99eb56001b5237a2 GitHub-Pull-Request: golang/go#60084 Reviewed-on: https://go-review.googlesource.com/c/go/+/494055 Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Benny Siegert <bsiegert@gmail.com> TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Ian Lance Taylor <iant@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com>