- 07 Jun, 2017 5 commits
-
-
Brad Fitzpatrick authored
Updates #20587 Change-Id: I5df603505ae1d4b65687bec1e973a4ab318b34f1 Reviewed-on: https://go-review.googlesource.com/45014Reviewed-by: Robert Griesemer <gri@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Austin Clements authored
Currently the extra Ms created for cgo callbacks have a corresponding G that's kept in syscall state with only a call to goexit on its stack. This leads to confusing output from runtime.NumGoroutines and in tracebacks: goroutine 17 [syscall, locked to thread]: runtime.goexit() .../src/runtime/asm_amd64.s:2197 +0x1 Fix this by putting this goroutine into state _Gdead when it's not in use instead of _Gsyscall. To keep the goroutine counts correct, we also add one to sched.ngsys while the goroutine is in _Gdead. The effect of this is as if the goroutine simply doesn't exist when it's not in use. Fixes #16631. Fixes #16714. Change-Id: Ieae08a2febd4b3d00bef5c23fd6ca88fb2bb0087 Reviewed-on: https://go-review.googlesource.com/45030 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
The test is inherently racy, and for me fails about 0.05% of the time. So only fail the test if it fails ten times in a row. Fixes #20594 Change-Id: I3b3f7598f2196f7406f1a3937f38f21ff0c0e4b5 Reviewed-on: https://go-review.googlesource.com/45020 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
As motivated by https://golang.org/design/18130-type-alias which says: https://github.com/golang/proposal/blob/master/design/18130-type-alias.md#relationship-to-byte-and-rune > The language specification already defines byte as an alias for > uint8 and similarly rune as an alias for int32, using the word alias > as an informal term. It is a goal that the new type declaration > semantics not introduce a different meaning for alias. That is, it > should be possible to describe the existing meanings of byte and > uint8 by saying that they behave as if predefined by: > > type byte = uint8 > type rune = int32 So, do that. Seems to work. Updates #18130 Change-Id: I0740bab3f8fb23e946f3542fdbe819007a99465a Reviewed-on: https://go-review.googlesource.com/45017Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Keith Randall authored
Update #20178 Change-Id: I603f77268ed38afdd84228c775efe006f08f14a7 Reviewed-on: https://go-review.googlesource.com/45018 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
- 06 Jun, 2017 11 commits
-
-
Ian Lance Taylor authored
For cgo programs on linux-amd64 we call the C function mmap. This supports programs such as the C memory sanitizer that need to intercept all calls to mmap. It turns out that there are programs that intercept both mmap and munmap, or that at least expect that if they intercept mmap, they also intercept munmap. So, if we permit mmap to be intercepted, also permit munmap to be intercepted. No test, as it requires two odd things: a C program that intercepts mmap and munmap, and a Go program that calls munmap. Change-Id: Iec33f47d59f70dbb7463fd12d30728c24cd4face Reviewed-on: https://go-review.googlesource.com/45016Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Brad Fitzpatrick authored
Fixes #20591 Change-Id: I2a4674a3430c5a4d3c569f3ea654c6ff4d9bf7ee Reviewed-on: https://go-review.googlesource.com/45015Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Updates #18354. Change-Id: I76bc4a73d8dc99eeda14b395e451d75a65184191 Reviewed-on: https://go-review.googlesource.com/45013Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Keith Randall authored
Fixes #18331 Change-Id: Ie5c6685be3002533b84604ff1f13f2f0850f29e2 Reviewed-on: https://go-review.googlesource.com/45010 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Brad Fitzpatrick authored
Many TODOs remain. Updates #20587 Change-Id: If49854ae4d36346d9e072a386f413cc85c66b62a Reviewed-on: https://go-review.googlesource.com/45012Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
gulyasm authored
Go doesn't guarantee that the result of floating point operations will be the same on different architectures. It was not stated in the documentation, that can lead to confusion. Fixes #18354 Change-Id: Idb1b4c256fb9a7158a74256136eca3b8ce44476f Reviewed-on: https://go-review.googlesource.com/34938Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
This allows reading from package storage systems that may not preserve the .a suffix (used with -importcfg). Fixes #20579 (combined with CLs earlier in stack). Change-Id: If2fc6a3d01bd0170a757e1f2ba9a22a4d9be7dbf Reviewed-on: https://go-review.googlesource.com/44853 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Adds the ability to specify the file location of each imported package, like in the -importcfg added to cmd/compile in a related CL. In effect, -importcfg is a generalization of and supersedes -installsuffix and -L. Of course, those flags will continue to be supported, for compatibility with other tools. Having this flag in Go 1.9 will let us try some experiments involving package management without needing guinea pigs to build a custom Go toolchain. This flag also helps with #14271 at some later point. For #20579. Change-Id: Ie4c171bcd3aa2faa446ac340e36516f2f9853882 Reviewed-on: https://go-review.googlesource.com/44851 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Allows reading -importmap options from a file instead of putting them all on the command line, and adds the ability to specify the file location of specific packages. In effect, -importcfg is a generalization of and supersedes -importmap, -importsuffix, and -I. Of course, those flags will continue to be supported, for compatibility with other tools. Having this flag in Go 1.9 will let us try some experiments involving package management without needing guinea pigs to build a custom Go toolchain. This flag also helps with #14271 at some later point. For #20579. Change-Id: If005dbc2b01d8fd16cbfd3687dfbe82499f4bc56 Reviewed-on: https://go-review.googlesource.com/44850 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Fixes #18991. Change-Id: I46ded007b0c6a6e1173a55f3938007ab3a928dd9 Reviewed-on: https://go-review.googlesource.com/44858 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Alberto Donizetti authored
Apparently people get confused by the fact that Split("", ",") returns []{""} instead of []{}. This is actually just a consequence of the fact that if the separator sep (2nd argument) is not found the string s (1st argument), then the Split* functions return a length 1 slice with the string s in it. Document the general case: if sep is not in s, what you get is a len 1 slice with s in it; unless both s and sep are "", in that case you get an empty slice of length 0. Fixes #19726 Change-Id: I64c8220b91acd1e5aa1cc1829199e0cd8c47c404 Reviewed-on: https://go-review.googlesource.com/44950Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Daniel Martí <mvdan@mvdan.cc>
-
- 05 Jun, 2017 14 commits
-
-
Ian Lance Taylor authored
Try to avoid a race between the main goroutine exiting and a panic occurring. Don't try too hard, to avoid hanging. Updates #3934 Fixes #20018 Change-Id: I57a02b6d795d2a61f1cadd137ce097145280ece7 Reviewed-on: https://go-review.googlesource.com/41052Reviewed-by: Austin Clements <austin@google.com>
-
Alberto Donizetti authored
Make sure that in complex division we reject divisors that would underflow to zero when using the textbook complex-division method we currently use. This change does for go/types what golang.org/cl/42650 did for gc. Fixes #20227 Change-Id: Iaa784ac5e60141f51c501eb0e3ce0e9c1c2993d0 Reviewed-on: https://go-review.googlesource.com/44590 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Ian Lance Taylor authored
C code expects CR2, CR3, and CR4 to be preserved across function calls. Preserve the entire CR register across function calls in _rt0_ppc64le_linux_lib and crosscall2. The standard ppc64le call frame uses 8(R1) as the place to save CR; emulate that. It's hard to write a reliable test for this as it requires writing C code that sets CR2, CR3, or CR4 across a call to a Go function. Change-Id: If39e771a5b574602b848227312e83598fe74eab7 Reviewed-on: https://go-review.googlesource.com/44733 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Carlos Eduardo Seo <cseo@linux.vnet.ibm.com> Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
-
Ian Lance Taylor authored
The MOVFL instruction (which external PPC64 docs call mtcrf) can take either a CR register or a constant. It doesn't make sense to specify both, as the CR register implies the constant value. Specifying either a register or a constant is enforced by the implementation in the asmout method (case 69). However, the optab was providing a form that specified both a constant and a CR register, and was not providing a form that specified only a constant. This CL fixes the optab table to provide a form that takes only a constant. No test because I don't know where to write it. The next CL in this series will use the new instruction format. Change-Id: I8bb5d3ed60f483b54c341ce613931e126f7d7be6 Reviewed-on: https://go-review.googlesource.com/44732 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Lynn Boger <laboger@linux.vnet.ibm.com>
-
Russ Cox authored
Programs built from N libraries required O(N²) time to do the deduplication checks, even if there were never any duplicates. In most programs N is small enough not to worry, but this may affect large programs. Noticed by inspection, not any specific bug report. Fixes #20578. Change-Id: Ic4108f1058be39da990a79b1e0b8ce95fde44cef Reviewed-on: https://go-review.googlesource.com/44852 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Change-Id: I4c579d0d02f6c9cbef1dc2bc2c93cff614538dea Reviewed-on: https://go-review.googlesource.com/44854 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Russ Cox authored
Otherwise removing a .f file won't trigger a rebuild. Noticed by inspection while working on the code. I don't have a good way to write a test for this, and I expect the code to change significantly in the next release, but might as well get it right for Go 1.9. Change-Id: I3f6f9f71b3a7d4f0be49a47419dac59899959e7c Reviewed-on: https://go-review.googlesource.com/44855 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Daniel Theophanes authored
Close any Rows queried within a Tx when the Tx is closed. This prevents the Tx from blocking on rollback if a Rows query has not been closed yet. Fixes #20575 Change-Id: I4efe9c4150e951d8a0f1c40d9d5e325964fdd608 Reviewed-on: https://go-review.googlesource.com/44812Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David Glasser authored
This is another attempt at the change attempted in https://golang.org/cl/27117 and rolled back in https://golang.org/cl/34134 The difference between this and the previous attempt is that this version only retries if the new field GetBody is set on the Request. Additionally, this allows retries of requests with idempotent methods even if they have bodies, as long as GetBody is defined. This also fixes an existing bug where readLoop could make a redundant call to setReqCanceler for DELETE/POST/PUT/etc requests with no body with zero bytes written. This clarifies the existing TestRetryIdempotentRequestsOnError test (and changes it into a test with 4 subtests). When that test was written, it was in fact testing "retry idempotent requests" logic, but the logic had changed since then, and it was actually testing "retry requests with no body when no bytes have been written". (You can confirm this by changing the existing test from a GET to a DELETE; it passes without the changes in this CL.) We now test for the no-Body and GetBody cases for both idempotent and nothing-written-non-idempotent requests. Fixes #18241 Fixes #17844 Change-Id: I69a48691796f6dc08c31f7aa7887b7dfd67e278a Reviewed-on: https://go-review.googlesource.com/42142 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ben Shi authored
There are two issues in constant decomposition. 1. A typo in "func immrot2s" blocks "case 107" of []optab be triggered. 2. Though "ADD $0xffff, R0, R0" is decomposed to "ADD $0xff00, R0, R0" and "ADD $0x00ff, R0, R0" as expected, "ADD $0xffff, R0" still uses the constant pool, which should be the same as "ADD $0xffff, R0, R0". This patch fixes them and adds more instruction encoding tests. fix #20516 Change-Id: Icd7bdfa1946b29db15580dcb429111266f1384c6 Reviewed-on: https://go-review.googlesource.com/44335 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Alberto Donizetti authored
Fixes #19526 Change-Id: Ifaaf454e0e89fdf4309118c2e2e6ac0d0a43c39d Reviewed-on: https://go-review.googlesource.com/44711Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ilya Tocar authored
Replace int division with (cheaper) byte division in heapBitsSetType. Provides noticeable speed-up: GrowSlicePtr-6 181ns ± 3% 169ns ± 3% -6.85% (p=0.000 n=10+10) Change-Id: I4064bb72e8e692023783b8f58d19491844c39382 Reviewed-on: https://go-review.googlesource.com/42290 Run-TryBot: Ilya Tocar <ilya.tocar@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Austin Clements authored
Since TestPingPongHog tests the scheduler, it's ultimately probabilistic. Currently, it requires the result be at most of factor of 2 off of the ideal. It turns out this isn't quite enough in practice, with factors on 1000 iterations on linux/amd64 ranging from 0.48 to 2.5. If the test were failing, we would expect a factor closer to 1000X, so it's pretty safe to expand the accepted factor from 2 to 5. Fixes #20494. Change-Id: If8f2e96194fe66f1fb981a965d1167fe74ff38d7 Reviewed-on: https://go-review.googlesource.com/44859 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alexander Menzhinsky authored
Fixes #17625 Change-Id: I09319b888b547c631a50dbfab9255cc08e8a2426 Reviewed-on: https://go-review.googlesource.com/40691Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 03 Jun, 2017 2 commits
-
-
Josh Bleecher Snyder authored
I learned from CL 41770 that valState’s size matters to compiler performance. Encode that knowledge in a test. Change-Id: I7c0fde6a4cf460017619dbcce1c1ddaa7af10239 Reviewed-on: https://go-review.googlesource.com/44737 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Alberto Donizetti authored
For test.go: package main import ( "C" "fmt" ) func main() { fmt.Println("Hello, world!") C.no_such_f() } Before: could not determine kind of name for C.no_such_f After: ./test.go:10:2: could not determine kind of name for C.no_such_f Fixes #18452 Change-Id: I49c136b7fa60fab25d2d5b905d440fe4d106e565 Reviewed-on: https://go-review.googlesource.com/34783 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 02 Jun, 2017 7 commits
-
-
Filippo Valsorda authored
Change-Id: I98d265bfa4f5944360d0258d2cb6bbc78010c708 Reviewed-on: https://go-review.googlesource.com/44731Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
1) Split atLineBegin into its two components: writing of // line directives and writing of indentation (no functionality changes). 2) Don't call writeLineDirective at the beginning of a line if we're writing white space - it's not necessary. This is the bug fix. 3) Move testing of the SourcePos mode out of writeLineDirective and into the (single) caller. Clearer and more efficient. (Instead of these 3 changes one could also have simply called the original atLineBegin with position p.out rather than p.pos. This would have caused atLineBegin to not write a line directive. Factoring the code seemed like a cleaner and more direct approach.) Fixes #5945. Change-Id: Ia8710806b6d3d4e5044116b142c036a4ab5a1764 Reviewed-on: https://go-review.googlesource.com/44651Reviewed-by: Alan Donovan <adonovan@google.com>
-
Alberto Donizetti authored
Fixes #19383 Change-Id: Ic84517053ced7794006f6fc65e6f249e97d6cf35 Reviewed-on: https://go-review.googlesource.com/44691Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Dhananjay Nakrani authored
Defaulting total to 1 for each function, adds up to the counting error. testing/cover.go already does this once. Fixes #20515 Change-Id: I0e3f524c2ccb628eb9a8f0a1f81c22365c24cf9a Reviewed-on: https://go-review.googlesource.com/44337 Run-TryBot: Dhananjay Nakrani <dhananjayn@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Lazar authored
Arguments to inlined calls are hidden from setPos as follows: args := as.Rlist as.Rlist.Set(nil) // setPos... as.Rlist.Set(args.Slice()) Previously, this code had no effect since the value of as was overwritten by the assignment in the retvars loop. Fixes #19799. Change-Id: Iaf97259f82fdba8b236136337cc42b2774c7fef5 Reviewed-on: https://go-review.googlesource.com/44351 Run-TryBot: David Lazar <lazard@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Ian Lance Taylor authored
The test no longer passes as of https://golang.org/cl/43777, which intentionally disables the feature that this test was checking for. Nobody noticed since the test is not run in -short mode. Updates #20435. Change-Id: I64f37fd94c01f22ead88470b6d9bfe8a151ddb1c Reviewed-on: https://go-review.googlesource.com/44650Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
Joe Tsai authored
Fixes #20551 Change-Id: Ia47cae14a26fe5f278ad7209218d083cc50a3ff8 Reviewed-on: https://go-review.googlesource.com/44572Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 01 Jun, 2017 1 commit
-
-
Ian Lance Taylor authored
Updates #20540 Change-Id: I864008fadd77b0aeb10fe7e7f1ec696516a5add5 Reviewed-on: https://go-review.googlesource.com/44492Reviewed-by: Robert Griesemer <gri@golang.org>
-