- 11 Feb, 2015 12 commits
-
-
Russ Cox authored
This isn't everything, but it's a start. Still producing bit-identical compiler output. The semantics of the old back ends is preserved, even when they are probably buggy. There are some TODOs in gc/gsubr.c to remove special cases to preserve bugs in 5g and 8g. Change-Id: I28ae295fbfc94ef9df43e13ab96bd6fc2f194bc4 Reviewed-on: https://go-review.googlesource.com/3802Reviewed-by: Austin Clements <austin@google.com>
-
Robert Griesemer authored
benchmark old ns/op new ns/op delta BenchmarkFormatFloatDecimal 300 283 -5.67% BenchmarkFormatFloat 383 381 -0.52% BenchmarkFormatFloatExp 359 357 -0.56% BenchmarkFormatFloatNegExp 357 358 +0.28% BenchmarkFormatFloatBig 468 430 -8.12% BenchmarkAppendFloatDecimal 104 92.5 -11.06% BenchmarkAppendFloat 199 190 -4.52% BenchmarkAppendFloatExp 172 167 -2.91% BenchmarkAppendFloatNegExp 172 169 -1.74% BenchmarkAppendFloatBig 280 235 -16.07% BenchmarkAppendFloat32Integer 104 92.4 -11.15% BenchmarkAppendFloat32ExactFraction 168 171 +1.79% BenchmarkAppendFloat32Point 206 199 -3.40% BenchmarkAppendFloat32Exp 167 167 +0.00% BenchmarkAppendFloat32NegExp 167 166 -0.60% BenchmarkAppendFloat64Fixed1 134 129 -3.73% BenchmarkAppendFloat64Fixed2 144 136 -5.56% BenchmarkAppendFloat64Fixed3 138 134 -2.90% BenchmarkAppendFloat64Fixed4 145 138 -4.83% Change-Id: Ia143840cb34cbd1cebd6b691dd0a45b7264b406c Reviewed-on: https://go-review.googlesource.com/3920Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
Change-Id: Ib3738492a2ec8fc99323e687168b17b7239db6ad Reviewed-on: https://go-review.googlesource.com/4511Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
Change-Id: Ic5f3864bc6d94d60b754e3ccf72b1d40c5c09117 Reviewed-on: https://go-review.googlesource.com/4510Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
Change-Id: Id98f7333fe6ae1b64e0469c6d01f02360c1f8f55 Reviewed-on: https://go-review.googlesource.com/4481Reviewed-by: Alan Donovan <adonovan@google.com>
-
Robert Griesemer authored
This avoids surprises. Change-Id: Iaae67da2d12e29c4e797ad6313e0895f7ce80cb1 Reviewed-on: https://go-review.googlesource.com/4480Reviewed-by: Rob Pike <r@golang.org> Reviewed-by: Alan Donovan <adonovan@google.com>
-
Rick Hudson authored
Add local workbufs to the m struct in order to reduce contention. Add consistency checks for workbuf ownership. Chain workbufs through call change to avoid swapping them to and from the m struct. Adjust the size of the workbuf so that the mutators can more frequently pass modifications to the GC thus shifting some work from the STW mark termination phase to the concurrent mark phase. Change-Id: I557b53af34ad9972265e0ed9f5996e52d548563d Reviewed-on: https://go-review.googlesource.com/3972Reviewed-by: Austin Clements <austin@google.com>
-
Dmitry Vyukov authored
Fixes #9791 g.issystem flag setup races with other code wherever we set it. Even if we set both in parent goroutine and in the system goroutine, it is still possible that some other goroutine crashes before the flag is set. We could pass issystem flag to newproc1, but we start all goroutines with go nowadays. Instead look at g.startpc to distinguish system goroutines (similar to topofstack). Change-Id: Ia3467968dee27fa07d9fecedd4c2b00928f26645 Reviewed-on: https://go-review.googlesource.com/4113Reviewed-by: Keith Randall <khr@golang.org>
-
Dmitry Vyukov authored
benchmark old allocs new allocs delta BenchmarkSkipValue 14914 14202 -4.77% Change-Id: I40e1fe8843cc6a099a2abfcd814ecc2a2d6a5b1f Reviewed-on: https://go-review.googlesource.com/3744Reviewed-by: Keith Randall <khr@golang.org>
-
Dmitry Vyukov authored
Update #8832 This is probably not the root cause of the issue. Resolve TODO about setting unusedsince on a wrong span. Change-Id: I69c87e3d93cb025e3e6fa80a8cffba6ad6ad1395 Reviewed-on: https://go-review.googlesource.com/4390Reviewed-by: Keith Randall <khr@golang.org>
-
Austin Clements authored
Currently, if there is a VERSION.cache, running make.bash will set runtime.theVersion to the revision as of the *last* make.bash run instead of the current make.bash run. For example, $ git rev-parse --short HEAD 5c4a86d0 $ ./make.bash ... $ cat ../VERSION.cache devel +5c4a86d0 Tue Feb 10 01:46:30 2015 +0000 $ git checkout a1dbb920 $ ./make.bash ... $ go version go version devel +5c4a86d0 Tue Feb 10 01:46:30 2015 +0000 linux/amd64 $ ./make.bash ... $ go version go version devel +a1dbb920 Tue Feb 10 02:31:27 2015 +0000 linux/amd64 This happens because go tool dist reads the potentially stale VERSION.cache into goversion during early initialization; then cleans, which deletes VERSION.cache; then builds the runtime using the stale revision read in to goversion. It isn't until make later in the build process, when make.bash invokes go tool dist again, that VERSION.cache gets updated with the current revision. To address this, simply don't bother fetching the version until go tool dist needs it and don't bother caching the value in memory. This is more robust since it interacts with cleaning in the expected ways. Futhermore, there's no downside to eliminating the in-memory cache; the file system cache is perfectly reasonable for the whole three times make.bash consults it. Change-Id: I8c480100e56bb2db0816e8a088177004d9e87973 Reviewed-on: https://go-review.googlesource.com/4540Reviewed-by: Russ Cox <rsc@golang.org>
-
rubyist authored
If an absolute domain name (i.e. ends in a '.' like "example.com.") is used with ssl/tls, the certificate will be reported as invalid. In matchHostnames, the host and patterns are split on '.' and if the lengths of the resulting slices do not match, the function returns false. When splitting an absolute domain name on '.', the slice will have an extra empty string at the end. This empty string should be discarded before comparison, if present. Fixes #9828 Change-Id: I0e39674b44a6f93b5024497e76cf1b550832a61d Reviewed-on: https://go-review.googlesource.com/4380Reviewed-by: Adam Langley <agl@golang.org> TryBot: Adam Langley <agl@golang.org>
-
- 10 Feb, 2015 13 commits
-
-
Keith Randall authored
Container symbols shouldn't be considered as functions in the functab. Having them present probably messes up function lookup, as you might get the descriptor of the container instead of the descriptor of the actual function on the stack. It also messed up the findfunctab because these entries caused off-by-one errors in how functab entries were counted. Normal code is not affected - it only changes (& hopefully fixes) the behavior for libraries linked as a unit, like: net runtime/cgo runtime/race Fixes #9804 Change-Id: I81e036e897571ac96567d59e1f1d7f058ca75e85 Reviewed-on: https://go-review.googlesource.com/4290Reviewed-by: Russ Cox <rsc@golang.org>
-
Mikio Hara authored
Change-Id: I695b89ec2b63233d94c49c4a40a57b50350ec67c Reviewed-on: https://go-review.googlesource.com/4350 TryBot: Mikio Hara <mikioh.mikioh@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mikio Hara authored
Change-Id: I69f24887601e491d6d722bfeb2952d927df8ad80 Reviewed-on: https://go-review.googlesource.com/4351Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Fixes #9814. Change-Id: I1be49efae0648038f590eeca1262037bf1af3df5 Reviewed-on: https://go-review.googlesource.com/4240Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Robert Griesemer authored
- Frexp, Ldexp are equivalents to the corresponding math functions. - Set now has the same prec behavior as the other functions - Copy is a true assignment (replaces old version of Set) - Cmp now handles infinities - more tests Change-Id: I0d33980c08be3095b25d7b3d16bcad1aa7abbd0f Reviewed-on: https://go-review.googlesource.com/4292Reviewed-by: Alan Donovan <adonovan@google.com>
-
Nicolas S. Dade authored
The sanity checks at the beginning of WriteMsgUDP were too strict, and did not allow a case sendmsg(2) suppports: sending to a connected UDP socket. This fixes the sanity checks. Either the socket is unconnected, and a destination addresses is required (what all existing callers must have been doing), or the socket is connected and an explicit destination address must not be used. Fixes #9807 Change-Id: I08d4ec3c2bf830335c402acfc0680c841cfcec71 Reviewed-on: https://go-review.googlesource.com/3951Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
Alex Brainman authored
Change-Id: I5cedd9e53f4e020aea74d498d0db88d79a95260c Reviewed-on: https://go-review.googlesource.com/2718Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Rajat Goel authored
I think the test was meant to test requests to 'localhost:80' instead of 'localhost:80:80'. It passes even with 'localhost:80:80' because net.SplitHostPort fails inside useProxy. Please comment if you want to leave old 'localhost:80' is the list too to check old code path. Change-Id: Ic4cd21901563449e3d4e2f4c8caf723f4ca15bac u Reviewed-on: https://go-review.googlesource.com/4293Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Andrew Gerrand authored
Change-Id: Iad1764707d173a09467fd36e8c49a58147f12219 Reviewed-on: https://go-review.googlesource.com/4320Reviewed-by: Minux Ma <minux@golang.org>
-
Alex Brainman authored
This CL introduces new methods for 'context' type, so we can manipulate its values in an architecture independent way. Use new methods to replace both 386 and amd64 versions of dosigprof with single piece of code. There is more similar code to be converted in the following CLs. Also remove os_windows_386.go and os_windows_amd64.go. These contain unused functions. Change-Id: I28f76aeb97f6e4249843d30d3d0c33fb233d3f7f Reviewed-on: https://go-review.googlesource.com/2790Reviewed-by: Minux Ma <minux@golang.org>
-
Rob Pike authored
I am an idiot but the failure to implement this means we can decide exactly what its design should be for 1.5 Change-Id: Ie2b025fcd899d306ddeddd09d1d0e8f9a99ab7a8 Reviewed-on: https://go-review.googlesource.com/4291Reviewed-by: Minux Ma <minux@golang.org>
-
mattn authored
Fixes #5395 Change-Id: I4322bc8a974d04d9bae6b48c71c5d32d9252973c Reviewed-on: https://go-review.googlesource.com/3024Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Dave Cheney authored
Fixes #9732 Fixes #9819 Rather than detecting vfp support via catching SIGILL signals, parse the contents of /proc/cpuinfo. As the GOARM values for NaCl and freebsd are hard coded, this parsing logic only needs to support linux/arm. This change also fixes the nacl/arm build which is broken because the first stage of nacltest.bash is executed with GOARM=5, embedding that into 5g. The second stage of nacltest.bash correctly detects GOARM=7, but this is ignored as we pass --no-clean at that point, and thus do not replace the compiler. Lastyly, include a fix to error message in nacltest.bash Change-Id: I13f306ff07a99b44b493fade72ac00d0d5097e1c Reviewed-on: https://go-review.googlesource.com/3981Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 09 Feb, 2015 9 commits
-
-
Shenghou Ma authored
CL 2118 makes the assumption that all references to runtime.tlsg should be accompanied by a declaration of runtime.tlsg if its type should be a normal variable, instead of a placeholder for TLS relocation. Because if runtime.tlsg is not declared by the runtime package, the type of runtime.tlsg will be zero, so fix the check in liblink to look for 0 instead of STLSBSS (the type will be initialized by cmd/ld, but cmd/ld doesn't run during assembly). Change-Id: I691ac5c3faea902f8b9a0b963e781b22e7b269a7 Reviewed-on: https://go-review.googlesource.com/4030Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Robert Griesemer authored
Change-Id: I208c8ac44d1a8882d8fdeb18347dc20941e20374 Reviewed-on: https://go-review.googlesource.com/4250Reviewed-by: Alan Donovan <adonovan@google.com>
-
Rahul Chaudhry authored
"go test -v" buffers output if more than one package is being tested to avoid mixing the outputs from multiple tests running in parallel. It currently enables streaming if there's only a single package under test. It is ok to stream output from multiple tests if we know that they're not going to be running in parallel. To see the difference: go test -v -p=1 runtime fmt -short Change-Id: Idc24575c899eac30d553e0bf52b86f90e189392d Reviewed-on: https://go-review.googlesource.com/4153Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
- better and more consistent documentation - more functions implemented - more tests Change-Id: If4c591e7af4ec5434fbb411a48dd0f8add993720 Reviewed-on: https://go-review.googlesource.com/4140Reviewed-by: Alan Donovan <adonovan@google.com>
-
Rahul Chaudhry authored
This is an alternative to http://golang.org/cl/4150, and is motivated by a review comment on that CL. testKillProcess() tries to build and run the Go equivalent for "sleep 1". This doesn't work for testing cross compilers since the Go compiler is not available on the targets. This change embeds the "sleep 1" functionality within the "os.test" binary itself. Change-Id: I6bad513deaa6c9e2704e70319098eb4983f1bb23 Reviewed-on: https://go-review.googlesource.com/4190Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Dmitry Vyukov authored
When we use dialMulti we also allocate dialSingle closure for no reason. Change-Id: I074282a9d6e2c2a1063ab311a1b95e10fe65219f Reviewed-on: https://go-review.googlesource.com/4119Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Dmitry Vyukov authored
Change-Id: Ib46a42fc873066b1cc00368fe43648f08dce48bd Reviewed-on: https://go-review.googlesource.com/4200Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Nigel Tao authored
There are no behavior changes in this CL, only specifying the status quo. A follow-up CL, https://go-review.googlesource.com/#/c/2660/, will change the EncodeToken behavior. Change-Id: I6ecbcfb05ae681de71fa1099d054df2826ed4acb Reviewed-on: https://go-review.googlesource.com/4167Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Shenghou Ma authored
The Addr might be a stack variable with uninitialized fields. Fixes #9777. Change-Id: I799786e3d8b2e17e069725bc66a076cf9ca11f93 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/3932Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Keith Randall <khr@golang.org>
-
- 08 Feb, 2015 6 commits
-
-
Florin Patan authored
There was a small typo in the comment before the Stable function. Change-Id: Ia6fa5272aa7869124a637d2eeda81c4f35ef46c8 Reviewed-on: https://go-review.googlesource.com/4201Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David Symonds authored
Change-Id: I66d923abbef13ba35c76c6f6da5b14c6d534127c Reviewed-on: https://go-review.googlesource.com/4165Reviewed-by: Alex Brainman <alex.brainman@gmail.com> Reviewed-by: David du Colombier <0intro@gmail.com>
-
David Symonds authored
If we cannot load timezone information for a reason other than the zoneinfo file not existing, return it since that will be much more useful in debugging failures than "unknown time zone XYZ". Fixes #9723. Change-Id: I3aa5774859cec28e584d16bcc1fef0705d95288c Reviewed-on: https://go-review.googlesource.com/3984Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Reverts https://golang.org/cl/119530044 (OS X 10.10 Yosemite beta 14A299l workaround), since it was fixed in the final Yosemite release. I verified that the C program http://swtch.com/~rsc/readdirbug.c passes on Yosemite. Adds a new test to the os package too, to verify that reading a regular file as a directory fails. Fixes #9789 (ReadDir: no error if dirname is a file) Change-Id: I75286cef88fbb2ebccf045b479e33c810749dcbc Reviewed-on: https://go-review.googlesource.com/4164Reviewed-by: Dave Cheney <dave@cheney.net>
-
David Symonds authored
This reverts commit 11d1c05f. See #9296 for details. Change-Id: I89a36351cb007836662f28a611af5616818b95fe Reviewed-on: https://go-review.googlesource.com/1536Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
mattyw authored
Change-Id: If697ab554e6cb5545d99c6b103ed8bc54f69ed48 Reviewed-on: https://go-review.googlesource.com/4161Reviewed-by: Andrew Gerrand <adg@golang.org>
-