- 14 Jun, 2017 9 commits
-
-
Austin Clements authored
Currently, semrelease1 readies the next waiter before recording a mutex event. However, if the next waiter is expecting to look at the mutex profile, as is the case in TestMutexProfile, this may delay recording the event too much. Swap the order of these operations so semrelease1 records the mutex event before readying the next waiter. This also means readying the next waiter is the very last thing semrelease1 does, which seems appropriate. Fixes #19139. Change-Id: I1a62063599fdb5d49bd86061a180c0a2d659474b Reviewed-on: https://go-review.googlesource.com/45751 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Peter Weinberger <pjw@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Lynn Boger authored
When using golang on ppc64le there have been issues when building executables that generate extremely large text sections. This is due to the call instruction and the limitation on the offset field, which is smaller than most platforms. If the size of the call target offset is too big for the offset field in the call instruction, then link errors can occur. The original solution to this problem in golang was to split the text section when it became too large, allowing the external (GNU) linker to insert the necessary stub to handle the long call. That worked fine until the another size limit for the program size was hit, where a plt_branch was created instead of a long branch. In that case the plt_branch code sequence expects r2 to contain the address of the TOC, but when golang creates dynamic executables by default (-buildmode=exe) r2 does not always contain the address of the TOC and as a result when building programs that reach this extremely large size, a runtime SEGV or SIGILL can occur due to branching to a bad address. When using internal linking, trampolines are generated to handle the long calls but the text sections are not split. With this change, text sections will still be split approrpriately with external linking but if the buildmode being used does not maintain r2 as the TOC addresses, then trampolines will be created for those calls. Fixes #20497 Change-Id: If5400b0f86c2c08e106b332be6db0b259b07d93d Reviewed-on: https://go-review.googlesource.com/45130 Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Ian Lance Taylor authored
Block all signals during a fork. In the parent process, after the fork, restore the signal mask. In the child process, reset all currently handled signals to the default handler, and then restore the signal mask. The effect of this is that the child will be operating using the same signal regime as the program it is about to exec, as exec resets all non-ignored signals to the default, and preserves the signal mask. We do this so that in the case of a signal sent to the process group, the child process will not try to run a signal handler while in the precarious state after a fork. Fixes #18600. Change-Id: I9f39aaa3884035908d687ee323c975f349d5faaa Reviewed-on: https://go-review.googlesource.com/45471 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Alan Donovan authored
Before, all accesses to the lines and infos tables of each File were serialized by the lock of the owning FileSet, causing parsers running in parallel to contend. Now, each File has its own mutex. This fixes a data race in (*File).PositionFor, which used to call f.position then f.unpack without holding the mutex's lock. Fixes golang/go#18348 Change-Id: Iaa5989b2eba88a7fb2e91c1a0a8bc1e7f6497f2b Reviewed-on: https://go-review.googlesource.com/34591Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Updates #20587 Change-Id: I7effe922242db45f3ce74882d07511aaaac2f634 Reviewed-on: https://go-review.googlesource.com/45613Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Josh Bleecher Snyder authored
I was surprised to see readvarint show up in a cpu profile. Use a few simple optimizations to speed up stack copying: * Avoid making a copy of the cache.entries array or any of its elements. * Use a shift instead of a signed division in stackmapdata. * Change readvarint to return the number of bytes consumed rather than an updated slice. * Make some minor optimizations to readvarint to help the compiler. * Avoid called readvarint when the value fits in a single byte. The first and last optimizations are the most significant, although they all contribute a little. Add a benchmark for stack copying that includes lots of different functions in a recursive loop, to bust the cache. This might speed up other runtime operations as well; I only benchmarked stack copying. name old time/op new time/op delta StackCopy-8 96.4ms ± 2% 82.7ms ± 1% -14.24% (p=0.000 n=20+19) StackCopyNoCache-8 167ms ± 1% 131ms ± 1% -21.58% (p=0.000 n=20+20) Change-Id: I13d5c455c65073c73b656acad86cf8e8e3c9807b Reviewed-on: https://go-review.googlesource.com/43150 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
Brad Fitzpatrick authored
The path package has a reference to the path/filepath package, so add a reverse reference. And clarify the path package doesn't do Windows paths. Fixes #20117 Change-Id: I65c5ce24e600b32ea20c5821b744bd89f6aff98c Reviewed-on: https://go-review.googlesource.com/45653Reviewed-by: Jaana Burcu Dogan <jbd@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
There are currently two arrays indexed by P ID: allp and pdesc. Consolidate these by moving the pdesc fields into type p so they can be indexed off allp along with all other per-P state. For #15131. Change-Id: Ib6c4e6e7612281a1171ba4a0d62e52fd59e960b4 Reviewed-on: https://go-review.googlesource.com/45572 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Hiroshi Ioka authored
Current CommentedNode cannot handle associated comments which satisfy node.End() < comment.Pos() This CL solves it. Fixes #20635 Change-Id: I58e2e3703999bb38a6ce37112e986c4b1b2eace0 Reviewed-on: https://go-review.googlesource.com/45292 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
- 13 Jun, 2017 16 commits
-
-
Ian Lance Taylor authored
Updates #20266. Fixes #20664. Change-Id: Ifca30409fc7971497efb6d84f3f98760157c2233 Reviewed-on: https://go-review.googlesource.com/45650Reviewed-by: Austin Clements <austin@google.com>
-
Austin Clements authored
Currently MaxGomaxprocs is 256. The previous CL saved enough per-P static space that we can quadruple MaxGomaxprocs (and hence the static size of allp) and still come out ahead. This is safe for Go 1.9. In Go 1.10 we'll eliminate the hard-coded limit entirely. Updates #15131. Change-Id: I919ea821c1ce64c27812541dccd7cd7db4122d16 Reviewed-on: https://go-review.googlesource.com/45673 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Pravendra Singh authored
According to the language spec, a struct field name should be an identifier. identifier = letter { letter | unicode_digit } . letter = unicode_letter | "_" . Implements a function 'isValidFieldName(fieldName string) bool'. To check if the field name is a valid identifier or not. It will panic if the field name is invalid. It uses the non-exported function implementation 'isLetter' from the package 'scanner', used to parse an identifier. Fixes #20600. Change-Id: I1db7db1ad88cab5dbea6565be15cc7461cc56c44 Reviewed-on: https://go-review.googlesource.com/45590Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Emmanuel Odeke authored
I accidentally set the wrong pattern mask as * []byte("\x4F\x67\x67\x53\x00") --> "OggS", the byte pattern itself. instead of * []byte("\xFF\xFF\xFF\xFF\xFF") which was a copy-paste error. The correct pattern is described at https://mimesniff.spec.whatwg.org/#matching-an-audio-or-video-type-pattern which I was using as a reference but I mistyped. Fixes #20513 Change-Id: Ie9cb60ac7edbf03075070878775b964116ce92d0 Reviewed-on: https://go-review.googlesource.com/44336 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Daniel Theophanes authored
Change-Id: I9b0f17e123805ad9f526f5ea44b23cf4dbadcdcc Reviewed-on: https://go-review.googlesource.com/45611Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
The compiler now also prints column information - make sure we use the correct regexp for compiler error cleanups. Accept both, error positions with columns and without, since column printing may be disabled with -gcflags=-C. Fixes #20628. Change-Id: I46dc921dd5c29d7b8172cd19a3df57951f60d889 Reviewed-on: https://go-review.googlesource.com/45612 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Brad Fitzpatrick authored
Change-Id: Ib6e2b858fcb15ea95fa8cfcba3bfac4e210605fe Reviewed-on: https://go-review.googlesource.com/45610Reviewed-by: Alberto Donizetti <alb.donizetti@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Daniel Theophanes authored
Ensure a Stmt prepared on a Conn executes on the same driver.Conn. This also removes another instance of duplicated prepare logic as a side effect. Fixes #20647 Change-Id: Ia00a19e4dd15e19e4d754105babdff5dc127728f Reviewed-on: https://go-review.googlesource.com/45391Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Austin Clements authored
Back in the day, allp was just a pointer to an array. As a result, the runtime has a few loops of the form: for i := 0; ; i++ { p := allp[i] if p == nil { break } ... } This is silly now because it requires that allp be one longer than the maximum possible number of Ps, but now that allp is in Go it has a length. Replace these with range loops. Change-Id: I91ef4bc7bd3c9d4fda2264f4aa1b1d0271d7f578 Reviewed-on: https://go-review.googlesource.com/45571 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Fixes #20266. Change-Id: I51383820880e3d3566ef3d70650a0863756003ba Reviewed-on: https://go-review.googlesource.com/44291 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Adam Langley authored
Change-Id: I4c2c82cb0354f843a3283a650ed2cd2b6aef5895 Reviewed-on: https://go-review.googlesource.com/36900Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alberto Donizetti authored
Updates #20587 Change-Id: I160da21ecdee07c6370be8c46cbd04d4fbb07abb Reviewed-on: https://go-review.googlesource.com/45550Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Otherwise the packages will not pick up the way that -installsuffix is changed by -buildmode and -race. Fixes #20512. Change-Id: Ieca32c958a531beb6331dff30d7e9a4998867dbb Reviewed-on: https://go-review.googlesource.com/44630 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Ben Shi authored
"MOVW FPSR, g" should be assembled to 0xeef1aa10, but actually 0xee30a110 (RFS). "MOVW g, FPSR" should be 0xeee1aa10, but actually 0xee20a110 (WFS). They should be updated to VFP forms, since the ARM back end doesn't support non-VFP floating points. The patch fixes them and adds more assembly encoding tests. fixes #20643 Change-Id: I3b29490337c6e8d891b400fcedc8b0a87b82b527 Reviewed-on: https://go-review.googlesource.com/45276 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Alex Brainman authored
Last time zoneinfo_abbrs_windows.go was updated in CL 27832. Time for another update. Change-Id: I8dc3a1de6f22e90e634b2176188f257a260b6463 Reviewed-on: https://go-review.googlesource.com/45450Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Per golang.org/s/generatedcode Updates #nnn Change-Id: Ia7513ef6bd26c20b62b57b29f7770684a315d389 Reviewed-on: https://go-review.googlesource.com/45470 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Matt Layher <mdlayher@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 12 Jun, 2017 6 commits
-
-
Daniel Theophanes authored
Rather then write to the same variable per fakeConn, write to either fakeConn or rowsCursor. Fixes #20646 Change-Id: Ifc79f989bd1606b8e3ebecb1e7844cce3ad06e17 Reviewed-on: https://go-review.googlesource.com/45393Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Kale Blankenship authored
Change-Id: Ib59e1eea64b0bd2cf8ed778607aafcf74a6239a3 Reviewed-on: https://go-review.googlesource.com/45087Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Sarah Adams authored
Fixes golang/go#20163 Change-Id: I0caf95fc84aa502715848151c93b6e7bee003ea5 Reviewed-on: https://go-review.googlesource.com/44890Reviewed-by: Daniel Theophanes <kardianos@gmail.com>
-
Hiroshi Ioka authored
Fixes #20636 Change-Id: Icea0012fecb73944c95f6037922505c63b57b245 Reviewed-on: https://go-review.googlesource.com/45295Reviewed-by: Robert Griesemer <gri@golang.org> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Daniel Theophanes authored
In addition to adding a guard to the Rows close, add a var in the fakeConn that gets read and written to on each operation, simulating writing or reading from the server. TestConcurrency/TxStmt* tests have been commented out as they now fail after checking for races on the fakeConn. See issue #20646 for more information. Fixes #20622 Change-Id: I80b36ea33d776e5b4968be1683ff8c61728ee1ea Reviewed-on: https://go-review.googlesource.com/45275 Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Theophanes authored
This reverts commit ef0f7fb9. Reason for revert: Altered behavior of Queries prior to Tx commit. See #20631. Change-Id: I2548507c2935a7c60b92aae377dcc8e9aca66331 Reviewed-on: https://go-review.googlesource.com/45231 Run-TryBot: Daniel Theophanes <kardianos@gmail.com> Reviewed-by: Bulat Gaifullin <gaifullinbf@gmail.com> Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 11 Jun, 2017 1 commit
-
-
Alex Brainman authored
Updates #20587 Change-Id: If1f17a110ef3cc367849bd01e2733c60d85f124b Reviewed-on: https://go-review.googlesource.com/45118Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 09 Jun, 2017 8 commits
-
-
Brad Fitzpatrick authored
It listens on all addresses, which users might not want. Updates #18806 (follow-up to feedback from CL 45088) Change-Id: I51de2d3fc3cd88a61eb3c63018c47aea920c0549 Reviewed-on: https://go-review.googlesource.com/45157 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
Austin Clements authored
ARM currently does not use a hardware yield instruction in the spin loop in procyield because the YIELD instruction was only added in ARMv6K. However, it appears earlier ARM chips will interpret the YIELD encoding as an effective NOP (specifically an MSR instruction that ultimately has no effect on the CPSR register). Hence, use YIELD in procyield on ARM since it should be, at worst, harmless. Fixes #16663. Change-Id: Id1787ac48862b785b92c28f1ac84cb4908d2173d Reviewed-on: https://go-review.googlesource.com/45250 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Brad Fitzpatrick authored
Done with grep & interactive search & replace, to double-check replacements. Not many remained after CL 20022. Fixes #18572 Change-Id: Idbe90ba3b584f9b9661d2bbd141607daaadfa41a Reviewed-on: https://go-review.googlesource.com/45270Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Brad Fitzpatrick authored
Nobody uses 10.6 these days anyway. Fixes #20623 Change-Id: I698c83cbc288082558e34097ff54d1428aed75ec Reviewed-on: https://go-review.googlesource.com/45171Reviewed-by: Matt Layher <mdlayher@gmail.com>
-
Austin Clements authored
If we're in a situation where printing the fp and sp in the traceback is useful, it's almost certainly also useful to print the PC. Change-Id: Ie48a0d5de8a54b5b90ab1d18638a897958e48f70 Reviewed-on: https://go-review.googlesource.com/45210 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Alberto Donizetti authored
Updates #20587 Change-Id: I551a21c0226bc66fd7bca737c30cba679b958c37 Reviewed-on: https://go-review.googlesource.com/45091Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Martí authored
This results in names to unexported fields like net.(*Dialer)."".deadline instead of net.(*Dialer).deadline. Fixes #18419. Change-Id: I0415c68b77cc16125c2401320f56308060ac3f25 Reviewed-on: https://go-review.googlesource.com/44070 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Brad Fitzpatrick authored
The golang.org/x/tools/cmd/bundle tool previously had a bug where it dropped some comments. This regenerates it with the fixed version (https://golang.org/cl/45117). (Upstream is still git rev 3470a06c1, from https://golang.org/cl/44331) Updates #20548 Change-Id: Ic5d9208a0c8f7facdb7b315c6acab66ace34c0a9 Reviewed-on: https://go-review.googlesource.com/45158Reviewed-by: Hiroshi Ioka <hirochachacha@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-