- 04 Jun, 2019 2 commits
-
-
Keith Randall authored
When a defer is executed at most once in a function body, we can allocate the defer record for it on the stack instead of on the heap. This should make defers like this (which are very common) faster. This optimization applies to 363 out of the 370 static defer sites in the cmd/go binary. name old time/op new time/op delta Defer-4 52.2ns ± 5% 36.2ns ± 3% -30.70% (p=0.000 n=10+10) Fixes #6980 Update #14939 Change-Id: I697109dd7aeef9e97a9eeba2ef65ff53d3ee1004 Reviewed-on: https://go-review.googlesource.com/c/go/+/171758 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Agniva De Sarker authored
Some <h3>s were missing ids due to which the anchor links weren't getting generated. Fixes #32415 Change-Id: Ica21425c1a7c49735231c1de96b6c77dd594ce64 Reviewed-on: https://go-review.googlesource.com/c/go/+/180397Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 03 Jun, 2019 6 commits
-
-
Andrew Gerrand authored
The example in example_test.go requires that the whole file be displayed; the addition of ExampleAs meant that only the body of the package example function was shown, rather than the surrounding context. This change moves ExampleAs to the file wrap_test.go file, restoring the package example to its former glory. Update #31716 Change-Id: Id0ea77bc06023b239a63c1d6a7c8b3c1dae91ce9 Reviewed-on: https://go-review.googlesource.com/c/go/+/179737Reviewed-by: Marcel van Lohuizen <mpvl@golang.org> Reviewed-by: Jean de Klerk <deklerk@google.com> Run-TryBot: Benny Siegert <bsiegert@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
LE Manh Cuong authored
Fixes #32386 Change-Id: I29ad4113b02264336eebe7865895f07ef386f450 Reviewed-on: https://go-review.googlesource.com/c/go/+/180177 Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ben Shi authored
ARM64's R19-R29 and F8-F15 are callee saved registers, which should be saved in the beginning of sigtramp, and restored at the end. fixes #31827 Change-Id: I622e03f1a13fec969d3a11b6a303a8a492e02bcd Reviewed-on: https://go-review.googlesource.com/c/go/+/177045 Run-TryBot: Ben Shi <powerman1st@163.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Keith Randall authored
Normally, reflect.makeFuncStub records the context value at a known point in the stack frame, so that the runtime can get the argument map for reflect.makeFuncStub from that known location. This doesn't work for defers or goroutines that haven't started yet, because they haven't allocated a frame or run an instruction yet. The argument map must be extracted from the context value. We already do this for defers (the non-nil ctxt arg to getArgInfo), we just need to do it for unstarted goroutines as well. When we traceback a goroutine, remember the context value from g.sched. Use it for the first frame we find. (We never need it for deeper frames, because we normally don't stop at the start of reflect.makeFuncStub, as it is nosplit. With this CL we could allow makeFuncStub to no longer be nosplit.) Fixes #25897 Change-Id: I427abf332a741a80728cdc0b8412aa8f37e7c418 Reviewed-on: https://go-review.googlesource.com/c/go/+/180258Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Bryan C. Mills authored
Fixes #31857 Change-Id: Ic4afe1262d863112db97794edc1ade20f6926d64 Reviewed-on: https://go-review.googlesource.com/c/go/+/180197Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Andrew Gerrand authored
When adding coverage counters to a block, the block's statement list is mutated. CL 77150 removed the part where the mutated list is assigned back to its parent node; this was confusing ast.Walk, which would then lose its place and stop walking the current block, dropping counters in the process. This change has addCounters make a copy of the list before mutating it, so that the original list doesn't change under Walk's feet. Fix #32200 Change-Id: Ia3b67d8cee860ceb7caf8748cb7a80ff9c6276e0 Reviewed-on: https://go-review.googlesource.com/c/go/+/179581Reviewed-by: Rob Pike <r@golang.org>
-
- 02 Jun, 2019 2 commits
-
-
Hajime Hoshi authored
As js.TypedArray no longer exists, the comment should be updated. Change-Id: Idd1087c8007afc90307fdd965f28d3be8d8cd73e Reviewed-on: https://go-review.googlesource.com/c/go/+/180097Reviewed-by: Richard Musiol <neelance@gmail.com>
-
frennkie authored
Change-Id: Ie9fef7767f3263ef7daed8415ab2f59c5377a3cb GitHub-Last-Rev: a4d13b7452f0fe060cb7575acfc200e3353fdde0 GitHub-Pull-Request: golang/go#32385 Reviewed-on: https://go-review.googlesource.com/c/go/+/180037Reviewed-by: Agniva De Sarker <agniva.quicksilver@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 31 May, 2019 9 commits
-
-
Jay Conrod authored
In module mode, 'go get' should not consider build constraints when loading packages in order to modify the module graph. With this change, 'go get' considers all build tags to be true except for "ignore" and malformed build constraint expressions. When 'go get' builds packages, it still applies build constraints for the target platform. Fixes #32345 Change-Id: I6dceae6f10a5185870537de730b36292271ad124 Reviewed-on: https://go-review.googlesource.com/c/go/+/179898Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Keith Randall authored
We need to make sure that there's no possible faulting instruction between a VarDef and that variable being fully initialized. If there was, then anything scanning the stack during the handling of that fault will see a live but uninitialized variable on the stack. If we have: NilCheck p VarDef x x = *p We can't rewrite that to VarDef x NilCheck p x = *p Particularly, even though *p faults on p==nil, we still have to do the explicit nil check before the VarDef. Fixes #32288 Change-Id: Ib8b88e6a5af3bf6f238ff5491ac86f53f3cf9fc9 Reviewed-on: https://go-review.googlesource.com/c/go/+/179239 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
-
Cherry Zhang authored
Some runtime functions, like getcallerpc/sp, don't have Go or assembly implementations and have to be intrinsified. Make sure they are, even if intrinsics are disabled. This makes "go build -gcflags=all=-d=ssa/intrinsics/off hello.go" work. Change-Id: I77caaed7715d3ca7ffef68a3cdc9357f095c6b9f Reviewed-on: https://go-review.googlesource.com/c/go/+/179897 Run-TryBot: Cherry Zhang <cherryyz@google.com> Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Bryan C. Mills authored
Previously, we used the passed-in statVers as the basis for tag search, but it is not always valid. Instead, use info.Name, which (by precondition) must be valid. Updates #32161 Updates #27171 Change-Id: Iaecb5043bdf2fefd26fbe3f8e3714b07d22f580f Reviewed-on: https://go-review.googlesource.com/c/go/+/179857 Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Cherry Zhang authored
The gccgo compiler crashes with int-to-string conversion with large integer constant operand. CL 179777 is the fix. This CL adds a test. Updates #32347. Change-Id: Id1d9dbbcdd3addca4636f1b9c5fdbc450cc48c1d Reviewed-on: https://go-review.googlesource.com/c/go/+/179797 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Than McIntosh authored
Rework this recently introduced test case to insure that it works with older versions of the OS. It was using a new framework library not available on pre-10.14 to trigger the weak symbol reference; switch to using a new symbol from an existing library. Tested on MacOS 10.14 and 10.11. Updates #32233. Change-Id: I1fe2a9255fca46cb7cdf33ff7fed67bba86fdc22 Reviewed-on: https://go-review.googlesource.com/c/go/+/179837 Run-TryBot: Than McIntosh <thanm@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
LE Manh Cuong authored
Fixes #32161 Updates #31251 Change-Id: I22760836b48cd734b90bc43aacb23e23e38c0f4e Reviewed-on: https://go-review.googlesource.com/c/go/+/178497Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Andrew Gerrand authored
In addition to the example that was added in 203b80ab, mention these special cases in the doc comment. This change also adjusts the example to include "+Inf", as it was not otherwise mentioned that the plus symbol may be present. Fix #30990 Change-Id: I97d66f4aff6a17a6ccc0ee2e7f32e39ae91ae454 Reviewed-on: https://go-review.googlesource.com/c/go/+/179738Reviewed-by: Alex Miasoedov <msoedov@gmail.com> Reviewed-by: Benny Siegert <bsiegert@gmail.com> Run-TryBot: Benny Siegert <bsiegert@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
Fixes #32328 Change-Id: Iee71ecb247f2c439804c2ff03a6ed7b7f5a8b562 Reviewed-on: https://go-review.googlesource.com/c/go/+/179603 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 30 May, 2019 13 commits
-
-
Ian Lance Taylor authored
Change-Id: I0c7da31e94307f939e1a2f023e00d5b24bac0ea6 Reviewed-on: https://go-review.googlesource.com/c/go/+/179604 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
Fixes #32325 Change-Id: Ic06938c36a25ef1a6623e35e128b73729d02d955 Reviewed-on: https://go-review.googlesource.com/c/go/+/179698 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
HTTP 408 responses now exist and are seen in the wild (e.g. from Google's GFE), so make Go's HTTP client not spam about them when seen. They're normal (now). Fixes #32310 Change-Id: I558eb4654960c74cf20db1902ccaae13d03310f6 Reviewed-on: https://go-review.googlesource.com/c/go/+/179457 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-
Greg Thelen authored
On unix if exec.Command() is given both ExtraFiles and Ctty, and the Ctty file descriptor overlaps the range of FDs intended for the child, then cmd.Start() the ioctl(fd,TIOCSCTTY) call fails with an "inappropriate ioctl for device" error. When child file descriptors overlap the new child's ctty the ctty will be closed in the fd shuffle before the TIOCSCTTY. Thus TIOCSCTTY is used on one of the ExtraFiles rather than the intended Ctty file. Thus the error. exec.Command() callers can workaround this by ensuring the Ctty fd is larger than any ExtraFiles destined for the child. Fix this by doing the ctty ioctl before the fd shuffle. Test for this issue by modifying TestTerminalSignal to use more ExtraFiles. The test fails on linux and freebsd without this change's syscall/*.go changes. Other platforms (e.g. darwin, aix, solaris) have the same fd shuffle logic, so the same fix is applied to them. However, I was only able to test on linux (32 and 64 bit) and freebsd (64 bit). Manual runs of the test in https://golang.org/issue/29458 start passing with this patch: Before: % /tmp/src/go/bin/go run t successfully ran child process with ParentExtraFileFdNum=5, ChildExtraFileFd=6, ParentPtyFd=7 panic: failed to run child process with ParentExtraFileFdNum=10, ChildExtraFileFd=11, ParentPtyFd=11: fork/exec /bin/true: inappropriate ioctl for device After: % /tmp/src/go/bin/go run t successfully ran child process with ParentExtraFileFdNum=5, ChildExtraFileFd=6, ParentPtyFd=7 successfully ran child process with ParentExtraFileFdNum=10, ChildExtraFileFd=11, ParentPtyFd=11 Fixes #29458 Change-Id: I99513de7b6073c7eb855f1eeb4d1f9dc0454ef8b Reviewed-on: https://go-review.googlesource.com/c/go/+/178919 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Jay Conrod authored
Also: add a comment in internal/get.newUpgrader as a follow-up to CL 177677. Updates #26902 Change-Id: Ibce2807ecb44fa21697ca04a51c44ddca0f661d8 Reviewed-on: https://go-review.googlesource.com/c/go/+/176902Reviewed-by: Bryan C. Mills <bcmills@google.com> Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Jay Conrod authored
Fixes #32038 Change-Id: Ib4981f76572405363f404ee5038a45cb1752a2ad Reviewed-on: https://go-review.googlesource.com/c/go/+/177879 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Than McIntosh authored
Test case for issue 32233. Updates #32233. Change-Id: I0e3b4a46832f39de4ef36d8fd8c6070bf9b1a019 Reviewed-on: https://go-review.googlesource.com/c/go/+/178726Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Constantin Konstantinidis authored
Checks if modules are enabled in GOPATH mode for go mod [graph, verify]. Added tests for GO111MODULE=[auto, off]. Fixes: #31237 Change-Id: I91efccfa10d0b2385ec2af1ea133deaa8234ba37 Reviewed-on: https://go-review.googlesource.com/c/go/+/174697 Run-TryBot: Jay Conrod <jayconrod@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Jay Conrod <jayconrod@google.com>
-
Johan Brandhorst authored
The existing check was introduced to allow tests to pass on WASM without an environment where the fetch RoundTripper could run. However, the check now prohibits the use of the Fetch RoundTripper in all WASM tests, even where the RoundTripper could run. The new change should only disable the RoundTripper when used in an environment without fetch. Fixes #32289 Change-Id: I30d2e0dbcb0e64d4b1a46b583f7e984c2a57d5e5 Reviewed-on: https://go-review.googlesource.com/c/go/+/179118 Run-TryBot: Agniva De Sarker <agniva.quicksilver@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Martí authored
A couple of regexp.MustCompile globals have made their way in since we introduced this package for cmd/go. Convert the declarations. It's just two of them, so the cmd/go exec benchmark isn't affected noticeably. Change-Id: Ibd0615c99b6a049124a952c59978fd714c1b9615 Reviewed-on: https://go-review.googlesource.com/c/go/+/179358 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Aman Gupta authored
Passing test that shows Apple's symbols utility can now read DWARF data in go.o, after the fix in CL174538 Updates #31022 #22716 #31459 Change-Id: I56c3517ad6d0a9f39537182f63cef56bb198aa83 Reviewed-on: https://go-review.googlesource.com/c/go/+/170451Reviewed-by: Than McIntosh <thanm@google.com>
-
Aman Gupta authored
Change-Id: I60af7a6477d1b25c43b311246ae4a79bf691460e Reviewed-on: https://go-review.googlesource.com/c/go/+/171819Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Tobias Klauser authored
This pulls in CL 179317 which fixes the build on aix/ppc64. Change-Id: I7d90950800627904503db97cfb0bc670a45b701e Reviewed-on: https://go-review.googlesource.com/c/go/+/179357 Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 29 May, 2019 6 commits
-
-
Matthew Dempsky authored
Updates #22326. Change-Id: Ia9173b6eb29b2a4f90f4ba39bf53b6e9b7a6d6bf Reviewed-on: https://go-review.googlesource.com/c/go/+/179398 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
Change-Id: Idd3acf5f808705c608cd4e5877bc93e1626d9a58 Reviewed-on: https://go-review.googlesource.com/c/go/+/179238 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Matthew Dempsky authored
This CL rewrites cmd/compile's package-level initialization ordering algorithm to be compliant with the Go spec. See documentation in initorder.go for details. Incidentally, this CL also improves fidelity of initialization loop diagnostics by including referenced functions in the emitted output like go/types does. Fixes #22326. Change-Id: I7c9ac47ff563df4d4f700cf6195387a0f372cc7b Reviewed-on: https://go-review.googlesource.com/c/go/+/170062 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Jason A. Donenfeld authored
Incredibly, the subsystem version numbers in the PE header influence how win32k handles various syscalls. The first time a win32k syscall is invoked and the kernel upgrades the thread object to a tagTHREADINFO with all of the lovely undocumented UI members and such, it sets the dwExpWinVer member (offset 624 in Windows 10 build 1809) to the result of RtlGetExpWinVer(PsGetProcessSectionBaseAddress(proc)). RtlGetExpWinVer, also undocumented, then calls into the undocumented RtlImageNtHeader function, which returns a fortunately documented IMAGE_NT_HEADERS structure. It uses the subsystem members in there to set the dwExpWinVer member of our newly minted tagTHREADINFO object. Later, functions like SendInput consult this to vary their behaviors and return values. In fact, littered through out win32k are checks like `if (gsti->dwExpWinVer >= 0x501) { ... }`. I don't think Go ever supported NT 4.0. These days the minimum version is Windows 7, which is 6.1. So, let's set the version numbers in the PE header at that, which should give us the behavior that MSDN advertises for various functions, as opposed to bizarre archeological remnants. Interestingly, I suspect that most people never noticed the brokenness, because most people trying to do serious Win32 UI stuff wind up linking in cgo, if not for actually using C, then just to have a larger system stack so that the stack doesn't get corrupted by various UI functions. When MingW is used, the PE header gets a later version. But recently there's been a bug report of some people trying to do more modest UI manipulation using SendInput in a setting where this cgo hack probably isn't required, so they ran into the weird historical compatibility stuff. Fixes #31685 Change-Id: I54461ce820f6e9df349e37be5ecc5a44c04a3e26 Reviewed-on: https://go-review.googlesource.com/c/go/+/178977 Run-TryBot: Jason Donenfeld <Jason@zx2c4.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
The default is now "https://proxy.golang.org,direct" not just "https://proxy.golang.org" (as of CL 178720). Change-Id: I47e67602e994332b988ed1b75fa57319f3876cc6 Reviewed-on: https://go-review.googlesource.com/c/go/+/178725 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Keith Randall authored
Change-Id: I0f79d317ae7ac46c7e824bd382a4f51d53adaaa6 Reviewed-on: https://go-review.googlesource.com/c/go/+/179257 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
- 28 May, 2019 2 commits
-
-
Brad Fitzpatrick authored
Fixes #32102 Change-Id: I3022104035a12bf31a7cd214aede58c024effc1b Reviewed-on: https://go-review.googlesource.com/c/go/+/179180Reviewed-by: Bryan C. Mills <bcmills@google.com>
-
Brad Fitzpatrick authored
One of these tests creates a bunch of connections concurrently, then discovers it doesn't need them all, which then makes the server log that the client went away midway through the TLS handshake. Perhaps the server should recognize that as a case not worthy of logging about, but this is a safer way to eliminate the stderr spam during go test for now. The other test's client gives up on its connection and closes it, similarly confusing the server. Change-Id: I49ce442c9a63fc437e58ca79f044aa76e8c317b5 Reviewed-on: https://go-review.googlesource.com/c/go/+/179179 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
-