- 09 Mar, 2017 9 commits
-
-
Cherry Zhang authored
Outgoing arg zeroing code is inserted at walk.go:paramstoheap. Don't do it twice. Change-Id: I70afac6af9e39b3efce0a6a79d6193428d922708 Reviewed-on: https://go-review.googlesource.com/37863 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Daniel Martí authored
make.bash used mostly tabs and buildall.bash used mostly spaces, but they were both mixing them. Be consistent and use tabs, as that's what's more common and what the Go code uses. Change-Id: Ia6affbfccfe64fda800c1ac400965df364d2c545 Reviewed-on: https://go-review.googlesource.com/37967Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Munday authored
The type of the OffPtr for the first field was incorrect. It should have been a pointer to the field type, rather than the field type itself. Fixes #19475. Change-Id: I3960b404da0f4bee759331126cce6140d2ce1df7 Reviewed-on: https://go-review.googlesource.com/37869 Run-TryBot: Michael Munday <munday@ca.ibm.com> Reviewed-by: Keith Randall <khr@golang.org>
-
Bryan C. Mills authored
A typo in the previous revision ("act" instead of "oldact") caused us to return the sa_flags from the new (or zeroed) sigaction rather than the old one. In the presence of a signal handler registered before runtime.libpreinit, this caused setsigstack to erroneously zero out important sa_flags (such as SA_SIGINFO) in its attempt to re-register the existing handler with SA_ONSTACK. Change-Id: I3cd5152a38ec0d44ae611f183bc1651d65b8a115 Reviewed-on: https://go-review.googlesource.com/37852 Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Bryan C. Mills authored
There are a few problems from change 35494, discovered during testing of change 37852. 1. I was confused about the usage of n.key in the sema variant, so we were looping on the wrong condition. The error was not caught by the TryBots (presumably due to missing TSAN coverage in the BSD and darwin builders?). 2. The sysmon goroutine sometimes skips notetsleep entirely, using direct usleep syscalls instead. In that case, we were not calling _cgo_yield, leading to missed signals under TSAN. 3. Some notetsleep calls have long finite timeouts. They should be broken up into smaller chunks with a yield at the end of each chunk. updates #18717 Change-Id: I91175af5dea3857deebc686f51a8a40f9d690bcc Reviewed-on: https://go-review.googlesource.com/37867 Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alberto Donizetti authored
The tzdata 2017a update (2017-02-28) changed the abbreviation of the Asia/Baghdad time zone (used in TestParseInLocation) from 'AST' to the numeric '+03'. Update the test so that it skips the checks if we're using a recent tzdata release. Fixes #19457 Change-Id: I45d705a5520743a611bdd194dc8f8d618679980c Reviewed-on: https://go-review.googlesource.com/37964Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Elias Naur authored
write(2) is defined in unistd.h. For the iOS builder. Change-Id: I411ffe81988d8fbafffde89e4732a20af1a63325 Reviewed-on: https://go-review.googlesource.com/37962 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Aliaksandr Valialkin authored
Move 8-bit flags field after 32-bit Block field Change-Id: I8e5e9a2285477aac2402a839a105e710d5340224 Reviewed-on: https://go-review.googlesource.com/37848 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Keith Randall authored
Previously the base register was unset, which lead to the disassembler using "FP" instead of "SP" as the base register. That lead to some confusion as to what the difference betweeen the two was. Be consistent and always use SP. Fixes #19458 Change-Id: Ie8f8ee54653bd202c0cf6fbf1d350e3c8c8b67a0 Reviewed-on: https://go-review.googlesource.com/37971 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
- 08 Mar, 2017 11 commits
-
-
Elias Naur authored
The iOS test harness only includes the current test directory in its app bundles, but the tests need access to all source code. Change-Id: I8a902b183bc2745b4fbfffef867002d573abb1f5 Reviewed-on: https://go-review.googlesource.com/37961 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
Inline rawstringtmp and simplify. Use memmove instead of copy. name old time/op new time/op delta SliceByteToString/1-8 19.4ns ± 2% 14.1ns ± 1% -27.04% (p=0.000 n=20+17) SliceByteToString/2-8 20.8ns ± 2% 15.5ns ± 2% -25.46% (p=0.000 n=20+20) SliceByteToString/4-8 20.7ns ± 1% 14.9ns ± 1% -28.30% (p=0.000 n=20+20) SliceByteToString/8-8 23.2ns ± 1% 17.1ns ± 1% -26.22% (p=0.000 n=19+19) SliceByteToString/16-8 29.4ns ± 1% 23.6ns ± 1% -19.76% (p=0.000 n=17+20) SliceByteToString/32-8 31.4ns ± 1% 26.0ns ± 1% -17.11% (p=0.000 n=16+19) SliceByteToString/64-8 36.1ns ± 0% 30.0ns ± 0% -16.96% (p=0.000 n=16+16) SliceByteToString/128-8 46.9ns ± 0% 38.9ns ± 0% -17.15% (p=0.000 n=17+19) Change-Id: I422e688830e4a9bd21897d1f74964625b735f436 Reviewed-on: https://go-review.googlesource.com/37791 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Marvin Stenger <marvin.stenger94@gmail.com> Reviewed-by: Keith Randall <khr@golang.org>
-
Elias Naur authored
On Android devices where the stub fallback for Current fails to extract a User from the environment, return a dummy fallback instead of failing. While we're here, use / instead of /home/nacl for the NaCL fallback. Hopefully fixes the Android builder. Change-Id: Ia29304fbc224ee5f9c0f4e706d1756f765a7eae5 Reviewed-on: https://go-review.googlesource.com/37960 Run-TryBot: Elias Naur <elias.naur@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Bryan C. Mills authored
fixes #18717 Change-Id: I7244463d2e7489e0b0fe3b74c4b782e71210beb2 Reviewed-on: https://go-review.googlesource.com/35494 Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Chase authored
After benchmarking with a compiler modified to have better spill location, it became clear that this method of checking was actually faster on (at least) two different architectures (ppc64 and amd64) and it also provides more timely interruption of loops. This change adds a modified FOR loop node "FORUNTIL" that checks after executing the loop body instead of before (i.e., always at least once). This ensures that a pointer past the end of a slice or array is not made visible to the garbage collector. Without the rescheduling checks inserted, the restructured loop from this change apparently provides a 1% geomean improvement on PPC64 running the go1 benchmarks; the improvement on AMD64 is only 0.12%. Inserting the rescheduling check exposed some peculiar bug with the ssa test code for s390x; this was updated based on initial code actually generated for GOARCH=s390x to use appropriate OpArg, OpAddr, and OpVarDef. NaCl is disabled in testing. Change-Id: Ieafaa9a61d2a583ad00968110ef3e7a441abca50 Reviewed-on: https://go-review.googlesource.com/36206 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Kevin Burke authored
Change-Id: I04e150d4e4123aad2f277e5c6e9f2abd15628a28 Reviewed-on: https://go-review.googlesource.com/37941Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
The position information recorded now consists of the line- directive relative filename and line number. It would be relatively easy to also encode absolute position information as necessary (by serializing src.PosBase data). For example, given $GOROOT/src/tmp/x.go: package p const C0 = 0 //line c.go:10 const C1 = 1 //line t.go:20 type T int //line v.go:30 var V T //line f.go:40 func F() {} The recorded positions for the exported entities are: C0 $GOROOT/src/tmp/x.go 3 C1 c.go 10 T t.go 20 V v.go 30 F f.go 40 Fix verified by manual inspection. There's currently no easy way to test this, but it will eventually be tested when we fix #7311. Fixes #19391. Change-Id: I6269067ea58358250fe6dd1f73bdf9e5d2adfe3d Reviewed-on: https://go-review.googlesource.com/37936Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Sarah Adams authored
This change was originally written by Marko Tiikkaja <marko@joh.to>. https://go-review.googlesource.com/#/c/2035/ Previously *Tx.Stmt always prepared a new statement, even if an existing one was available on the connection the transaction was on. Now we first see if the statement is already available on the connection and only prepare if it isn't. Additionally, when we do need to prepare one, we store it in the parent *Stmt to allow it to be later reused by other calls to *Tx.Stmt on that statement or just straight up by *Stmt.Exec et al. To make sure that the statement doesn't disappear unexpectedly, we record a dependency from the statement returned by *Tx.Stmt to the *Stmt it came from and set a new field, parentStmt, to point to the originating *Stmt. When the transaction's *Stmt is closed, we remove the dependency. This way the "parent" *Stmt can be closed by the user without her having to know whether any transactions are still using it or not. Fixes #15606 Change-Id: I41b5056847e117ac61130328b0239d1e000a4a08 Reviewed-on: https://go-review.googlesource.com/35476 Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Daniel Theophanes <kardianos@gmail.com>
-
Johan Brandhorst authored
After merging https://go-review.googlesource.com/c/34639/, it was pointed out to me that a lot of tests under net/http could use the new functionality to simplify and unify testing. Using the httptest.Server provided Client removes the need to call CloseIdleConnections() on all Transports created, as it is automatically called on the Transport associated with the client when Server.Close() is called. Change the transport used by the non-TLS httptest.Server to a new *http.Transport rather than using http.DefaultTransport implicitly. The TLS version already used its own *http.Transport. This change is to prevent concurrency problems with using DefaultTransport implicitly across several httptest.Server's. Add tests to ensure the httptest.Server.Client().Transport RoundTripper interface is implemented by a *http.Transport, as is now assumed across large parts of net/http tests. Change-Id: I9f9d15f59d72893deead5678d314388718c91821 Reviewed-on: https://go-review.googlesource.com/37771 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Hiroshi Ioka authored
Fixes #19415 Change-Id: I6414f82e42bd09f1793156befce326aeac919ea2 Reviewed-on: https://go-review.googlesource.com/37911Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
This helps systems that maintain an external database mapping build ID to symbol information for the given binary, especially in the case where /proc/self/maps lists many different files (for example, many shared libraries). Avoid importing debug/elf to avoid dragging in that whole package (and its dependencies like debug/dwarf) into the build of every program that generates a profile. Fixes #19431. Change-Id: I6d4362a79fe23e4f1726dffb0661d20bb57f766f Reviewed-on: https://go-review.googlesource.com/37855 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 07 Mar, 2017 20 commits
-
-
Robert Griesemer authored
The old code simply printed the position of the line directive in square brackets for a position modified by a line directive. Now we print the corresponding actual source file position instead. Fixes #19392. Change-Id: I933f3e435d03a6ee8269df36ae35f9202b7b2e76 Reviewed-on: https://go-review.googlesource.com/37932 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Mikio Hara authored
This change adds missing docs, collapses single-line import paths, removes unsed method placeholders and renames str.go to strconv.go. Change-Id: I2d155c838935cd8427abd142a462ff4c56829703 Reviewed-on: https://go-review.googlesource.com/37814 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
Currently selectgo is just a wrapper around selectgoImpl. This keeps the hard-coded frame skip counts for tracing the same between the channel implementation and the select implementation. However, this is fragile and confusing, so pass a skip parameter to send and recv, join selectgo and selectgoImpl into one function, and use decrease all of the skips in selectgo by one. Change-Id: I11b8cbb7d805b55f5dc6ab4875ac7dde79412ff2 Reviewed-on: https://go-review.googlesource.com/37860 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Matthew Dempsky authored
Several SSA ops will always behave identically regardless of target architecture, so handle those within gc/ssa.go instead. Passes toolstash-check -all. Change-Id: I54d514e80ab86723e44332a5a38e3054cbca8c5d Reviewed-on: https://go-review.googlesource.com/37931 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Austin Clements authored
If the bad pointer is on a stack, this makes it possible to find the frame containing the bad pointer. Change-Id: Ieda44e054aa9ebf22d15d184457c7610b056dded Reviewed-on: https://go-review.googlesource.com/37858 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Austin Clements authored
Change-Id: I6de1ef8f67bde044b8706c01e98400e266e1f8f0 Reviewed-on: https://go-review.googlesource.com/37857 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Matthew Dempsky authored
This commit reworks multiway select statements to use normal control flow primitives instead of the previous setjmp/longjmp-like behavior. This simplifies liveness analysis and should prevent issues around "returns twice" function calls within SSA passes. test/live.go is updated because liveness analysis's CFG is more representative of actual control flow. The case bodies are the only real successors of the selectgo call, but previously the selectsend, selectrecv, etc. calls were included in the successors list too. Updates #19331. Change-Id: I7f879b103a4b85e62fc36a270d812f54c0aa3e83 Reviewed-on: https://go-review.googlesource.com/37661 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Daniel Martí authored
It's only ever called with the value it was using, but the code was counterintuitive. Use the parameter instead, like the other funcs near it. Found by github.com/mvdan/unparam. Change-Id: I45855e11d749380b9b2a28e6dd1d5dedf119a19b Reviewed-on: https://go-review.googlesource.com/37893Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Elias Naur authored
Using the stubs, user.Current will no longer fail on Android, fixing the os/exec.TestCredentialNoSetGroups test. Change-Id: I8b9842aa6704c0cde383c549a614bab0a0ed7695 Reviewed-on: https://go-review.googlesource.com/37765 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Alberto Donizetti authored
When defining an int const, the compiler tries to cast the RHS expression to int. The cast may fail for three reasons: 1. expr is an integer constant that overflows int 2. expr is a floating point constant 3. expr is a complex constant, or not a number In the second case, in order to print a sensible error message, we must distinguish between a floating point constant that should be included in the error message and a floating point constant that cannot be reasonably formatted for inclusion in an error message. For example, in: const a int = 1.1 const b int = 1 + 1e-100 a is in the former group, while b is in the latter, since the floating point value resulting from the evaluation of the rhs of the assignment (1.00...01) is too long to be fully printed in an error message, and cannot be shortened without making the error message misleading (rounding or truncating it would result in a "1", which looks like an integer constant, and it makes little sense in an error message about an invalid floating point expression). To fix this problem, we try to format the float value using fconv (which is used by the error reporting mechanism to format float arguments), and then parse the resulting string back to a big.Float. If the result is an integer, we assume that expr is a float value that cannot be reasonably be formatted as a string, and we emit an error message that does not include its string representation. Also, change the error message for overflows to a more conservative "integer too large", which does not mention overflows that are only caused by an internal implementation restriction. Also, change (*Mpint) SetFloat so that it returns a bool (instead of 0/-1 for success/failure). Fixes #11371 Change-Id: Ibbc73e2ed2eaf41f07827b0649d0eb637150ecaa Reviewed-on: https://go-review.googlesource.com/35411 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org>
-
Matthew Dempsky authored
Instead of skipping them based on string matching much later in the compilation process, skip them up front using the proper API. Passes toolstash-check. Change-Id: Ibd4c0448a0701ba0de3235d4689ef300235fa1d9 Reviewed-on: https://go-review.googlesource.com/37930 Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Change-Id: I90143e3c6e95a1495f300ffeb10de554aa41f56a Reviewed-on: https://go-review.googlesource.com/37889 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Elias Naur authored
Change-Id: I5f85a7980b9a18d3641c4ee8b0992671a8421bb0 Reviewed-on: https://go-review.googlesource.com/37896 Run-TryBot: Elias Naur <elias.naur@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Kevin Burke authored
Replace 'does not contains' with 'does not contain' where it appears in the source code. Change-Id: Ie7266347c429512c8a41a7e19142afca7ead3922 Reviewed-on: https://go-review.googlesource.com/37887Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Hiroshi Ioka authored
Fixes #19416 Change-Id: I23c69ff637abaa202909f1cba6ed41b3cfe3d117 Reviewed-on: https://go-review.googlesource.com/37812Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Passes toolstash -cmp. Change-Id: I4bd60f7ebba5457e7b3ece688fee2351bfeeb59a Reviewed-on: https://go-review.googlesource.com/37874 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alessandro Arzilli <alessandro.arzilli@gmail.com> Reviewed-by: Than McIntosh <thanm@google.com>
-
Matthew Dempsky authored
No need to keep as Nodes when they're all Types anyway. Change-Id: I8157914ba5b09cadf2263247844680a60233a0f2 Reviewed-on: https://go-review.googlesource.com/37886 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Andrew Benton authored
For consistency with the other named types in this package, this change renames the unexported rsaPublicKey struct to pkcs1PublicKey and positions the declaration up with the other similarly-named types in pkcs1.go. See the final comment of #19355 for discussion. Change-Id: I1fa0366a8efa01602b81bc69287ef747abce84f5 Reviewed-on: https://go-review.googlesource.com/37885Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Daniel Martí authored
Found by github.com/mvdan/unparam. Change-Id: I4795dd0221784d10cf7c9f7b84ea00787d5789f2 Reviewed-on: https://go-review.googlesource.com/37892Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alex Brainman authored
Sometimes asm code in 2 different packages name its global symbols with the same name. When these symbols are passed to gcc, it refuses to link them thinking they are duplicate. Mark these symbols with IMAGE_SYM_CLASS_STATIC. Fixes #19198. Change-Id: Ia5f59ede47354a2b48ce60b7d406c9f097ff2000 Reviewed-on: https://go-review.googlesource.com/37810Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-