- 16 Jan, 2015 2 commits
-
-
David Crawshaw authored
Generated with a modified version of go vet and tested on android. Change-Id: I1ff20135c5ab9de5a6dbf76ea2991167271ee70d Reviewed-on: https://go-review.googlesource.com/2815Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Andrew Gerrand authored
Change-Id: Iec19d6152b95ba67daac366b32d42f69e1dba9a4 Reviewed-on: https://go-review.googlesource.com/2951Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 15 Jan, 2015 13 commits
-
-
Keith Randall authored
We were failing ^uint16(0xffff) == 0, as we computed 0xffff0000 instead. I could only trigger a failure for the above case, the other two tests ^uint16(0xfffe) == 1 and -uint16(0xffff) == 1 didn't seem to fail previously. Somehow they get MOVHUs inserted for other reasons (used by CMP instead of TST?). I fixed OMINUS anyway, better safe than sorry. Fixes #9604 Change-Id: I4c2d5bdc667742873ac029fdbe3db0cf12893c27 Reviewed-on: https://go-review.googlesource.com/2940Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Ian Lance Taylor authored
Change-Id: I1bf1ab930a5c258f5fcc85ca3037692c71bf3cb2 Reviewed-on: https://go-review.googlesource.com/2870Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com> Reviewed-by: Minux Ma <minux@golang.org>
-
Andrew Gerrand authored
Git marks some of its files read only, so os.RemoveAll isn't sufficient to remove them from the ".git" directory. Change-Id: I3150596931d1c77e7cf9fb8da1a999d2c6730121 Reviewed-on: https://go-review.googlesource.com/2930Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alan Donovan authored
The implementation is the same assembly (or Go) routine. Change-Id: Ib937c461c24ad2d5be9b692b4eed40d9eb031412 Reviewed-on: https://go-review.googlesource.com/2828Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Change-Id: Ibf05e55ffe3bb454809cd3450b790e44061511c7 Reviewed-on: https://go-review.googlesource.com/2890Reviewed-by: Alan Donovan <adonovan@google.com>
-
Hyang-Ah Hana Kim authored
androidtest.bash copies some go source to the android device where the tests are going to run. It's necessary because some tests require files and resources to be present. The copy is done through adb sync. The script hoped faking the directory using symlinks to work, but it doesn't. (adb sync doesn't follow the symlinks) We need proper copy. Change-Id: If55abca4958f159859e58512b0045f23654167e3 Reviewed-on: https://go-review.googlesource.com/2827Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Dmitry Vyukov authored
benchmark old ns/op new ns/op delta BenchmarkUnmarshal 75256 72626 -3.49% benchmark old allocs new allocs delta BenchmarkUnmarshal 259 219 -15.44% Change-Id: I7fd30739b045e35b95e6ef6a8ef2f15b0dd6839c Reviewed-on: https://go-review.googlesource.com/2758Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Paul Nasrat authored
runtime.rtype was a copy of reflect.rtype - update script to use that directly. Introduces a basic test which will skip on systems without appropriate GDB. Fixes #9326 Change-Id: I6ec74e947bd2e1295492ca34b3a8c1b49315a8cb Reviewed-on: https://go-review.googlesource.com/2821Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Andrew Gerrand authored
Change-Id: I4e9737497f4995657c46e52e0722d921499f8d17 Reviewed-on: https://go-review.googlesource.com/2854Reviewed-by: Rob Pike <r@golang.org>
-
Burcu Dogan authored
Change-Id: Idd72e095ad64e1a398058982422c2c5497a23ce5 Reviewed-on: https://go-review.googlesource.com/2739Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Adam Langley authored
The encoded value of the certificate KeyUsage did contain additonal padding that was not present with other certificate generators. According to ITU-T X.690 the BitLength value should have no padding in a DER encoding. See discussion: https://groups.google.com/forum/#!topic/golang-nuts/dzaJ3hMpDcs This CL has been discussed at: http://golang.org/cl/168990043 Change-Id: I1eff3f441b0566966a2d279631901ad9287c917d Reviewed-on: https://go-review.googlesource.com/2255Reviewed-by: Adam Langley <agl@golang.org>
-
Martin Möhrmann authored
Do not lose precision for durations specified without fractions that can be represented by an int64 such as 1<<53+1 nanoseconds. Previously there was some precision lost in floating point conversion. Handle overflow for durations above 1<<63-1 nanoseconds but not earlier. Add tests to cover the above cases. Change-Id: I4bcda93cee1673e501ecb6a9eef3914ee29aecd2 Reviewed-on: https://go-review.googlesource.com/2461Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Rob Pike authored
The various files are confusingly named and their operation not easy to see. Add a comment to cmplxdivide.c, one of the few C files that will endure in the repository, to explain how to build and run the test. Change-Id: I1fd5c564a14217e1b9815b09bc24cc43c54c096f Reviewed-on: https://go-review.googlesource.com/2850Reviewed-by: Russ Cox <rsc@golang.org>
-
- 14 Jan, 2015 19 commits
-
-
Matthew Dempsky authored
6g does not implement dead code elimination for const switches like it does for const if statements, so the undefined raiseproc() function was resulting in a link-time failure. Change-Id: Ie4fcb3716cb4fe6e618033071df9de545ab3e0af Reviewed-on: https://go-review.googlesource.com/2830Reviewed-by: Russ Cox <rsc@golang.org>
-
Andrew Gerrand authored
Change-Id: I072cf2b9149a05901cc19e7aeb0e9d0936a8dbe3 Reviewed-on: https://go-review.googlesource.com/2793Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
printf, vprintf, snprintf, gc_m_ptr, gc_g_ptr, gc_itab_ptr, gc_unixnanotime. These were called from C. There is no more C. Now that vprintf is gone, delete roundup, which is unsafe (see CL 2814). Change-Id: If8a7b727d497ffa13165c0d3a1ed62abc18f008c Reviewed-on: https://go-review.googlesource.com/2824Reviewed-by: Austin Clements <austin@google.com>
-
Russ Cox authored
Moving the "don't really preempt" check up earlier in the function introduced a race where gp.stackguard0 might change between the early check and the later one. Since the later one is missing the "don't really preempt" logic, it could decide to preempt incorrectly. Pull the result of the check into a local variable and use an atomic to access stackguard0, to eliminate the race. I believe this will fix the broken OS X and Solaris builders. Change-Id: I238350dd76560282b0c15a3306549cbcf390dbff Reviewed-on: https://go-review.googlesource.com/2823Reviewed-by: Austin Clements <austin@google.com>
-
David du Colombier authored
Since CL 2750, the build is broken on Plan 9, because a new function netpollinited was added and called from findrunnable in proc1.go. However, netpoll is not implemented on Plan 9. Thus, we define netpollinited in netpoll_stub.go. Fixes #9590 Change-Id: I0895607b86cbc7e94c1bfb2def2b1a368a8efbe6 Reviewed-on: https://go-review.googlesource.com/2759Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
These were fixed in my local commit, but I forgot that the web Submit button can't see that. Change-Id: Iec3a70ce3ccd9db2a5394ae2da0b293e45ac2fb5 Reviewed-on: https://go-review.googlesource.com/2822Reviewed-by: Russ Cox <rsc@golang.org>
-
Russ Cox authored
During all.bash I got a crash in the GOMAXPROCS=2 runtime test reporting that the write barrier in the assignment 'c.tiny = add(x, size)' had been given a pointer pointing into an unexpected span. The problem is that the tiny allocation was at the end of a span and c.tiny was now pointing to the end of the allocation and therefore to the end of the span aka the beginning of the next span. Rewrite tinyalloc not to do that. More generally, it's not okay to call add(p, size) unless you know that p points at > (not just >=) size bytes. Similarly, pretty much any call to roundup doesn't know how much space p points at, so those are all broken. Rewrite persistentalloc not to use add(p, totalsize) and not to use roundup. There is only one use of roundup left, in vprintf, which is dead code. I will remove that code and roundup itself in a followup CL. Change-Id: I211e307d1a656d29087b8fd40b2b71010722fb4a Reviewed-on: https://go-review.googlesource.com/2814Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
-
Russ Cox authored
It could happen that mp.printlock++ happens, then on entry to lock, the goroutine is preempted and then rescheduled onto another m for the actual call to lock. Now the lock and the printlock++ have happened on different m's. This can lead to printlock not being unlocked, which either gives a printing deadlock or a crash when the goroutine reschedules, because m.locks > 0. Change-Id: Ib0c08740e1b53de3a93f7ebf9b05f3dceff48b9f Reviewed-on: https://go-review.googlesource.com/2819Reviewed-by: Rick Hudson <rlh@golang.org>
-
Russ Cox authored
Mostly this is using uint32 instead of int32 for unsigned values like instruction encodings or float32 bit representations, removal of ternary operations, and removal of #defines. Delete sched9.c, because it is not compiled (it is still in the history if we ever need it). Change-Id: I68579cfea679438a27a80416727a9af932b088ae Reviewed-on: https://go-review.googlesource.com/2658Reviewed-by: Austin Clements <austin@google.com>
-
Russ Cox authored
Normally, a panic/throw only shows the thread stack for the current thread and all paused goroutines. Goroutines running on other threads, or other threads running on their system stacks, are opaque. Change that when GODEBUG=crash, by passing a SIGQUIT around to all the threads when GODEBUG=crash. If this works out reasonably well, we might make the SIGQUIT relay part of the standard panic/throw death, perhaps eliding idle m's. Change-Id: If7dd354f7f3a6e326d17c254afcf4f7681af2f8b Reviewed-on: https://go-review.googlesource.com/2811Reviewed-by: Rick Hudson <rlh@golang.org>
-
David Crawshaw authored
Caught by go vet: asm_linux_arm.s:110: [arm] seek: wrong argument size 32; expected $...-28 Change-Id: I62ec5327a25bff9ef501c42cc1e28ea7ec78510f Reviewed-on: https://go-review.googlesource.com/2810Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Dmitry Vyukov authored
There is a small possibility that runtime deadlocks when netpoll is just activated. Consider the following scenario: GOMAXPROCS=1 epfd=-1 (netpoll is not activated yet) A thread is in findrunnable, sets sched.lastpoll=0, calls netpoll(true), which returns nil. Now the thread is descheduled for some time. Then sysmon retakes a P from syscall and calls handoffp. The "If this is the last running P and nobody is polling network" check in handoffp fails, since the first thread set sched.lastpoll=0. So handoffp decides that there is already a thread that polls network and so it calls pidleput. Now the first thread is scheduled again, finds no work and calls stopm. There is no thread that polls network and so checkdead reports deadlock. To fix this, don't set sched.lastpoll=0 when netpoll is not activated. The deadlock can happen if cgo is disabled (-tag=netgo) and only on program startup (when netpoll is just activated). The test is from issue 5216 that lead to addition of the "If this is the last running P and nobody is polling network" check in handoffp. Update issue 9576. Change-Id: I9405f627a4d37bd6b99d5670d4328744aeebfc7a Reviewed-on: https://go-review.googlesource.com/2750Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
The old name was too ambiguous (is it a verb? is it a predicate? is it a constant?) and too close to debug.gccheckmark. Hopefully the new name conveys that this variable indicates that we are currently doing mark checking. Change-Id: I031cd48b0906cdc7774f5395281d3aeeb8ef3ec9 Reviewed-on: https://go-review.googlesource.com/2656Reviewed-by: Rick Hudson <rlh@golang.org>
-
Russ Cox authored
1) Move non-preemption check even earlier in newstack. This avoids a few priority inversion problems. 2) Always use atomic operations to update bitmap for 1-word objects. This avoids lost mark bits during concurrent GC. 3) Stop using work.nproc == 1 as a signal for being single-threaded. The concurrent GC runs with work.nproc == 1 but other procs are running mutator code. The use of work.nproc == 1 in getfull *is* safe, but remove it anyway, since it is saving only a single atomic operation per GC round. Fixes #9225. Change-Id: I24134f100ad592ea8cb59efb6a54f5a1311093dc Reviewed-on: https://go-review.googlesource.com/2745Reviewed-by: Rick Hudson <rlh@golang.org>
-
Russ Cox authored
Before: ... imports golang.org/x/net/context: /Users/rsc/g/src/golang.org/x/net is from https://code.google.com/p/go.net, should be from https://go.googlesource.com/net After: ... imports golang.org/x/net/context: golang.org/x/net is a custom import path for https://go.googlesource.com/net, but /Users/rsc/g/src/golang.org/x/net is checked out from https://code.google.com/p/go.net Change-Id: I93c35b85f955c7de684f71fbd4baecc717405318 Reviewed-on: https://go-review.googlesource.com/2808Reviewed-by: Andrew Gerrand <adg@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
David Crawshaw authored
Generated from a script using go vet then read by a human. Change-Id: Ie5f7ab3a1075a9c8defbf5f827a8658e3eb55cab Reviewed-on: https://go-review.googlesource.com/2746Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Nigel Tao authored
https://go-review.googlesource.com/#/c/1876/ introduced a new TestClipWithNilMP test, along with a code change that fixed a panic, but the existing TestClip test already contained almost enough machinery to cover that bug. There is a small code change in this CL, but it is a no-op: (*x).y is equivalent to x.y for a pointer-typed x, but the latter is cleaner. Change-Id: I79cf6952a4999bc4b91f0a8ec500acb108106e56 Reviewed-on: https://go-review.googlesource.com/2304Reviewed-by: Dave Cheney <dave@cheney.net>
-
Dave Cheney authored
Make auxv parsing in linux/arm less of a special case. * rename setup_auxv to sysargs * exclude linux/arm from vdso_none.go * move runtime.checkarm after runtime.sysargs so arm specific values are properly initialised Change-Id: I1ca7f5844ad5a162337ff061a83933fc9a2b5ff6 Reviewed-on: https://go-review.googlesource.com/2681Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Dave Cheney authored
Fix SmartOS build that was broken in 68292290. SmartOS pretends to be Ubuntu/Debian with respect to its SSL certificate location. Change-Id: I5405c6472c8a1e812e472e7301bf6084c17549d6 Reviewed-on: https://go-review.googlesource.com/2704Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 13 Jan, 2015 6 commits
-
-
Alex Brainman authored
Change-Id: I4f84a89553f77382a8064f49db0f5eb575b64313 Reviewed-on: https://go-review.googlesource.com/2714Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Per https://golang.org/s/style#named-result-parameters Change-Id: If69d3e6d3dbef385a0f41e743fa49c25475ca40c Reviewed-on: https://go-review.googlesource.com/2761Reviewed-by: Adam Langley <agl@golang.org>
-
Martin Möhrmann authored
For some cases we can ensure the correct order of elements in two instead of three comparisons. It is unnecessary to compare m0 and m1 again if m2 and m1 are not swapped. benchmark old ns/op new ns/op delta BenchmarkSortString1K 302721 299590 -1.03% BenchmarkSortInt1K 124055 123215 -0.68% BenchmarkSortInt64K 12291522 12203402 -0.72% BenchmarkSort1e2 58027 57111 -1.58% BenchmarkSort1e4 12426805 12341761 -0.68% BenchmarkSort1e6 1966250030 1960557883 -0.29% Change-Id: I2b17ff8dee310ec9ab92a6f569a95932538768a9 Reviewed-on: https://go-review.googlesource.com/2614Reviewed-by: Robert Griesemer <gri@golang.org>
-
Ian Lance Taylor authored
Change-Id: I06881fc447a5fae0067557c317f69a0427bed337 Reviewed-on: https://go-review.googlesource.com/2760Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alex Brainman authored
Change-Id: Ib1a2adbcdbd7d96f9b4177abc3c9cf0ab09c1df4 Reviewed-on: https://go-review.googlesource.com/2716Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Andrew Gerrand authored
In the previous sandbox implementation we read all sandboxed output from standard output, and so all fake time writes were made to standard output. Now we have a more sophisticated sandbox server (see golang.org/x/playground/sandbox) that is capable of recording both standard output and standard error, so allow fake time writes to go to either file descriptor. Change-Id: I79737deb06fd8e0f28910f21f41bd3dc1726781e Reviewed-on: https://go-review.googlesource.com/2713Reviewed-by: Minux Ma <minux@golang.org>
-