- 06 Dec, 2019 6 commits
-
-
Alex Brainman authored
This change replaces buf := [HUGE_CONST]*T)(unsafe.Pointer(p))[:] with buf := [HUGE_CONST]*T)(unsafe.Pointer(p))[:n:n] Pointer p points to n of T elements. New unsafe pointer conversion logic verifies that both first and last elements point into the same Go variable. This change replaces [:] with [:n:n] to please pointer checker. According to @mdempsky, compiler specially recognizes when you combine a pointer conversion with a full slice operation in a single expression and makes an exception. After this, only one failure in net remains when running: go test -a -short -gcflags=all=-d=checkptr std cmd Updates #34972 Change-Id: I2c8731650c856264bc788e4e07fa0530f7c250fa Reviewed-on: https://go-review.googlesource.com/c/go/+/208617 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Change package qualification to print the full package path for packages that have non-unique names (that is, where multiple different packages have the same name). Use the package name as qualifier in all other cases (but don't print any qualification if we're talking about the package being type-checked). This matches the behavior of the compiler. Fixes #35895. Change-Id: I33ab8e7adfae1378907c01e33cabda114f65887f Reviewed-on: https://go-review.googlesource.com/c/go/+/209578 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Tobias Klauser authored
There should be no space after comma. Change-Id: I6a5c85a386d9d1611b71d5b15a31a00c24c316b4 Reviewed-on: https://go-review.googlesource.com/c/go/+/210120 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Give the runtime more of a chance to do other work in a tight loop. Fixes #34693 Change-Id: I8df6173d2c93ecaccecf4520a6913b495787df78 Reviewed-on: https://go-review.googlesource.com/c/go/+/210217 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Cherry Zhang authored
Currently, a block's control instruction gets the liveness info of the last Value in the block. However, for an empty block, the control instruction gets the invalid liveness info and therefore not preemptible. One example is empty infinite loop, which has only a control instruction. The control instruction being non- preemptible makes the whole loop non-preemptible. Fix this by using a different, preemptible liveness info for empty block's control. We can choose an arbitrary preemptible liveness info, as at run time we don't really use the liveness map at that instruction. As before, if the last Value in the block is non-preemptible, so is the block control. For example, the conditional branch in the write barrier test block is still non-preemptible. Also, only update liveness info if we are actually emitting instructions. So zero-width Values' liveness info (which are always invalid) won't affect the block control's liveness info. For example, if the last Values in a block is a tuple-generating operation and a Select, the block control instruction is still preemptible. Fixes #35923. Change-Id: Ic5225f3254b07e4955f7905329b544515907642b Reviewed-on: https://go-review.googlesource.com/c/go/+/209659 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: David Chase <drchase@google.com>
-
Cherry Zhang authored
Count Values with side effects but no use as live, and don't fuse branches that contain such Values. (This can happen e.g. when it is followed by an infinite loop.) Otherwise this may lead to miscompilation (side effect fired at wrong condition) or ICE (two stores live simultaneously). Fixes #36005. Change-Id: If202eae4b37cb7f0311d6ca120ffa46609925157 Reviewed-on: https://go-review.googlesource.com/c/go/+/210179Reviewed-by: Keith Randall <khr@golang.org>
-
- 05 Dec, 2019 13 commits
-
-
Tobias Klauser authored
Updates #24715 Change-Id: Ie6421cf2d599740bbb0576bcc37bd8ddf5af3961 Reviewed-on: https://go-review.googlesource.com/c/go/+/210119Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Rhys Hiltner authored
The newline was dropped during the refactor in CL 194617. Fixes #35984 Change-Id: I7e0d7aa2d7a4d1f44898921f8bb40401620d78b2 Reviewed-on: https://go-review.googlesource.com/c/go/+/209965 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Jay Conrod authored
If we aren't able to load imports from one file in a package due to a parse error (scanner.ErrorList), 'go list -e' should still list imports in other files. Fixes #35973 Change-Id: I59f171877949bb7afaf252b6c8a970de22e60c7a Reviewed-on: https://go-review.googlesource.com/c/go/+/210097 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Keith Randall authored
The first Readdirnames calls opendir and caches the result. The behavior of that cached opendir result isn't specified on a seek of the underlying fd. Free the opendir result on a seek so that we'll allocate a new one the next time around. Also fix wasm behavior in this regard, so that a seek to the file start resets the Readdirnames position, regardless of platform. p.s. I hate the Readdirnames API. Fixes #35767. Change-Id: Ieffb61b3c5cdd42591f69ab13f932003966f2297 Reviewed-on: https://go-review.googlesource.com/c/go/+/209961 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Jay Conrod authored
This issue was fixed by earlier improvements to error handling when loading modules. Fixes #34829 Change-Id: I4cf4e182a7381f8b5c359179d90bd02491ea7911 Reviewed-on: https://go-review.googlesource.com/c/go/+/209037 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Dmitri Shuralyov authored
Not all closed issues in a given minor milestone are included in that release, only the ones that have been labeled as CherryPickApproved are. Update the links to the GitHub issue tracker to include a filter on the CherryPickApproved label, so that the default view shows only the backports that were included in a given release. This should more useful to most people than seeing all backports (considered and approved). Do this only for Go 1.9.1 and newer releases, as that is when we started using the CherryPickCandidate and CherryPickApproved labels. Fixes #35988 Change-Id: I51e07c1bc3ab9c4a5744e8f668c5470adf78bffe Reviewed-on: https://go-review.googlesource.com/c/go/+/209918Reviewed-by: Alexander Rakoczy <alex@golang.org>
-
Meng Zhuo authored
Change-Id: I191ac2a2b469c6179d22d66c15f2d96ecb3d0902 Reviewed-on: https://go-review.googlesource.com/c/go/+/209970Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Filippo Valsorda authored
CL 209077 updated bundled http2 to x/net git rev ef20fe5d7 without bumping the go.mod version. Identified with the new go/packages based cmd/bundle from CL 189818. $ go get golang.org/x/net@ef20fe5d7 $ go mod tidy $ go mod vendor $ go generate -run bundle std # with CL 189818 Updates #32031 Change-Id: I581d35f33e2adafb588b2b0569648039187234a7 Reviewed-on: https://go-review.googlesource.com/c/go/+/209901 Run-TryBot: Filippo Valsorda <filippo@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Johan Jansson authored
Remove documentation reference to gcCopySpans(), as that function was removed in https://golang.org/cl/30537 Fixes #35683 Change-Id: I7fb7c6cc60bfb3a133a019a20eb3f9d4c7627b31 Reviewed-on: https://go-review.googlesource.com/c/go/+/209917Reviewed-by: Austin Clements <austin@google.com>
-
taisa authored
The Perm function return 0 or 1 or 2 or 3. 4 is not returned, so that changed the argument to 5. Change-Id: Ic980c71a9f29f522bdeef4fce70a6c2dd136d791 Reviewed-on: https://go-review.googlesource.com/c/go/+/209777Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Otherwise we leave a gap at the start of Segrelrodata equal to the size of the read-only non-relro data, which causes -buildmode=pie executables to be noticeably larger than -buildmode=exe executables. Change-Id: I98956ef29d5b7a57ad8e633c823ac09d9ca36a45 Reviewed-on: https://go-review.googlesource.com/c/go/+/208897 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Austin Clements authored
Linux 5.2 introduced a bug that can corrupt vector registers on return from a signal if the signal stack isn't faulted in: https://bugzilla.kernel.org/show_bug.cgi?id=205663 This CL works around this by mlocking the top page of all Go signal stacks on the affected kernels. Fixes #35326, #35777 Change-Id: I77c80a2baa4780827633f92f464486caa222295d Reviewed-on: https://go-review.googlesource.com/c/go/+/209899 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Austin Clements authored
This will be used to parse the Linux kernel versions, but this code is generic and can be tested on its own. For #35777. Change-Id: If1df48d07250e5855dde45bc9d57c66f777b9fb4 Reviewed-on: https://go-review.googlesource.com/c/go/+/209597 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 04 Dec, 2019 7 commits
-
-
Jay Conrod authored
Test set GOOS to linux and darwin without setting GOARCH. darwin is not a valid GOOS for all architectures we test. Fixes #35976 Change-Id: I4da2ebcbf9ad52e07bcc1632b48fcfdbc49b1289 Reviewed-on: https://go-review.googlesource.com/c/go/+/209900 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Jay Conrod authored
Fixes #35873 Fixes #35946 Change-Id: I9f9a9c09006f8957569db6e5cc13382b9b28f829 Reviewed-on: https://go-review.googlesource.com/c/go/+/209660 Run-TryBot: Jay Conrod <jayconrod@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Brad Fitzpatrick authored
Fixes #35920 Change-Id: I1a4d26c5f7f3fbd4de13fc337de482667d83c47f Reviewed-on: https://go-review.googlesource.com/c/go/+/209758Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com>
-
Carlos Amedee authored
Change-Id: I3641a086f167a1337aaaacd2d758b6a42b84a7fb Reviewed-on: https://go-review.googlesource.com/c/go/+/209845 Run-TryBot: Carlos Amedee <carlos@golang.org> Run-TryBot: Alexander Rakoczy <alex@golang.org> Reviewed-by: Alexander Rakoczy <alex@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Carlos Amedee authored
Change-Id: I289d13ff0a01466d93ebc555eaa81273d4297eb4 Reviewed-on: https://go-review.googlesource.com/c/go/+/209841 Run-TryBot: Carlos Amedee <carlos@golang.org> Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com> Reviewed-by: Alexander Rakoczy <alex@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Carlos Amedee authored
Change-Id: I7589ef4bdac776c8f141e9cc60f59f8643649310 Reviewed-on: https://go-review.googlesource.com/c/go/+/209840Reviewed-by: Alexander Rakoczy <alex@golang.org> Run-TryBot: Alexander Rakoczy <alex@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Tobias Klauser authored
Issue #12559 was closed and split into #19158 for mips{,le} and #19156 for mips64{,le}. Instead of referencing the individual GOARCH-specific issues in the skip test messages of TestDisasmCode use the tracking bug Change-Id: I6929d25f4ec5aef4f069b7692c4e29106088ce65 Reviewed-on: https://go-review.googlesource.com/c/go/+/209817 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 03 Dec, 2019 3 commits
-
-
Michael Anthony Knyszek authored
Currently the page allocator bitmap is implemented as a single giant memory mapping which is reserved at init time and committed as needed. This causes problems on systems that don't handle large uncommitted mappings well, or institute low virtual address space defaults as a memory limiting mechanism. This change modifies the implementation of the page allocator bitmap away from a directly-mapped set of bytes to a sparse array in same vein as mheap.arenas. This will hurt performance a little but the biggest gains are from the lockless allocation possible with the page allocator, so the impact of this extra layer of indirection should be minimal. In fact, this is exactly what we see: https://perf.golang.org/search?q=upload:20191125.5 This reduces the amount of mapped (PROT_NONE) memory needed on systems with 48-bit address spaces to ~600 MiB down from almost 9 GiB. The bulk of this remaining memory is used by the summaries. Go processes with 32-bit address spaces now always commit to 128 KiB of memory for the bitmap. Previously it would only commit the pages in the bitmap which represented the range of addresses (lowest address to highest address, even if there are unused regions in that range) used by the heap. Updates #35568. Updates #35451. Change-Id: I0ff10380156568642b80c366001eefd0a4e6c762 Reviewed-on: https://go-review.googlesource.com/c/go/+/207497 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Xiangdong Ji authored
Additional vet flags specified by user are discarded if 'go vet' is invoked outside $GOROOT/src to check a package under $GOROOT (including those under "vendor" of $GOROOT), fix it by avoiding the overwriting, the logic of detemining if the package under vetting comes from $GOROOT remains untouched. Also checked 'go tool vet <options> <cfg>' and 'go vet <options> <user pkg>', both worked w./w.o this fix. Fixes #35837. Change-Id: I549af7964e40440afd35f2d1971f77eee6f8de34 Reviewed-on: https://go-review.googlesource.com/c/go/+/209498 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Ian Lance Taylor authored
Fixes #32985 Change-Id: I5d504715dcc92d4f4f560ea2e843d9275f938685 Reviewed-on: https://go-review.googlesource.com/c/go/+/207620 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Austin Clements <austin@google.com>
-
- 02 Dec, 2019 5 commits
-
-
Ian Lance Taylor authored
We were using the race context of the P that held the timer, but since we unlock the P's timers while executing a timer that could lead to a race on the race context itself. Updates #6239 Updates #27707 Fixes #35906 Change-Id: I5f9d5f52d8e28dffb88c3327301071b16ed1a913 Reviewed-on: https://go-review.googlesource.com/c/go/+/209580 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
-
Günther Noack authored
Change-Id: I4f41b680741e9bd2a4e8c094ecf3ce6226e48d12 GitHub-Last-Rev: 8f58bc6c4398cf739b33f8b5368926d6650059c3 GitHub-Pull-Request: golang/go#35934 Reviewed-on: https://go-review.googlesource.com/c/go/+/209558Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Than McIntosh authored
The previous fix for this issue (CL 208479) was not general enough; this patch revises it to handle more cases. The problem with the original fix was that once a sym.Symbol is created for a given static symbol and given a bogus anonymous version of -1, we hit problems if some other non-anonymous symbol (created by host object loading) had relocations targeting the static symbol. In this patch instead of assigning a fixed anonymous version of -1 to such symbols, each time loader.Create is invoked we create a new (unique) anonymous version for the sym.Symbol, then enter the result into the loader's extStaticSyms map, permitting it to be found in lookups when processing relocation targets. NB: this code will hopefully get a lot simpler once we can move host object loading away from early sym.Symbol creation. Updates #35779. Change-Id: I450ff577e17549025565d355d6707a2d28a5a617 Reviewed-on: https://go-review.googlesource.com/c/go/+/208778 Run-TryBot: Than McIntosh <thanm@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Tao Qingyun authored
Like FmtFlag constant in fmt.go Change-Id: I351bcb27095549cf19db531f532ea72d5c682610 Reviewed-on: https://go-review.googlesource.com/c/go/+/209497 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Xudong Zhang authored
The commit de36d1 (CL 4635083) changed the test time from 2009 to 2010 but forgot to update the comment. Change-Id: Ia2928773dd184f168fddde126d0bb936de8cfc29 GitHub-Last-Rev: bf8eb57140dc531d1af449308b79c646d3b64d02 GitHub-Pull-Request: golang/go#35930 Reviewed-on: https://go-review.googlesource.com/c/go/+/209517Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 28 Nov, 2019 1 commit
-
-
Richard Miller authored
Plan 9 doesn't have a way to reserve virtual memory, so the implementation of sysReserve allocates memory space (which won't be backed with real pages until the virtual pages are referenced). If the space is then freed with sysFree, it's not returned to the OS (because Plan 9 doesn't allow shrinking a shared address space), but it must be cleared to zeroes in case it's reallocated subsequently. This interacts badly with the way mallocinit on 64-bit machines sets up the heap, calling sysReserve repeatedly for a very large (64MB?) arena with a non-nil address hint, and then freeing the space again because it doesn't have the expected alignment. The repeated clearing of multiple megabytes adds significant startup time to every go program. We correct this by restricting sysReserve to allocate memory only when the caller doesn't provide an address hint. If a hint is provided, sysReserve will now return nil instead of allocating memory at a different address. Fixes #27744 Change-Id: Iae5a950adefe4274c4bc64dd9c740d19afe4ed1c Reviewed-on: https://go-review.googlesource.com/c/go/+/207917 Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David du Colombier <0intro@gmail.com>
-
- 27 Nov, 2019 5 commits
-
-
Michael Anthony Knyszek authored
This change makes it so that waking up the scavenger readies its goroutine without "next" set, so that it doesn't interfere with the application's use of the runnext feature in the scheduler which helps fairness. As of CL 201763 the scavenger began waking up much more often, and in TestPingPongHog this meant that it would sometimes supercede either a hog or light goroutine in runnext, leading to a skew in the results and ultimately a test flake. This change thus re-enables the TestPingPongHog test on the builders. Fixes #35271. Change-Id: Iace08576912e8940554dd7de6447e458ad0d201d Reviewed-on: https://go-review.googlesource.com/c/go/+/208380 Run-TryBot: Michael Knyszek <mknyszek@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Carlos Amedee authored
Adds an additional lock around an access to modOnly. Updates #35317 Change-Id: Ia1e75f9a674ec2a2c0489b41283c1cd3e7924d1e Reviewed-on: https://go-review.googlesource.com/c/go/+/209237 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Hana (Hyang-Ah) Kim authored
Lack of logging hinders debugging. Like many other go commands, let's allow users to inspect what is going on underneath. Example: $ GO111MODULE=on GOPROXY=direct GOPATH=`mktemp -d` go mod download -x golang.org/x/tools/gopls@latest mkdir -p /var/folders/bw/6r6k9d113sv1_vvzk_1kfxbm001py5/T/tmp.ykhTiXaS/pkg/mod/cache/vcs # git3 https://go.googlesource.com/tools ... Update #35849 Change-Id: I5577e683ae3c0145b11822df255b210ad9f60c87 Reviewed-on: https://go-review.googlesource.com/c/go/+/208558 Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Jay Conrod authored
Updates #33637 Change-Id: I3b4303479b44894442a04226cbf1f1e27dbb2fb7 Reviewed-on: https://go-review.googlesource.com/c/go/+/208779Reviewed-by: Tyler Bui-Palsulich <tbp@google.com> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Michael Anthony Knyszek authored
Currently scavengeAll (which is called by debug.FreeOSMemory) doesn't reset the scavenge address before scavenging, meaning it could miss large portions of the heap. Fix this by reseting the address before scavenging, which will ensure it is able to walk over the entire heap. Fixes #35858. Change-Id: I4a7408050b8e134318ff94428f98cb96a1795aa9 Reviewed-on: https://go-review.googlesource.com/c/go/+/208960Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-