- 13 Mar, 2017 12 commits
-
-
Alberto Donizetti authored
Tinkering with the gob package shows that is currently possible to *completely destroy* Int slices encoding without triggering a single test failure. The various encInt{8,16,32,64}Slice methods are only called during the execution of the GobMapInterfaceEncode test, which only encodes a few slices of length exactly 1 and then just checks that the error returned by Encode is nil (without trying to Decode back the data). This patch adds a few tests for signed integer slices encoding. Change-Id: Ifaaee2f32132873118b241f79aa8203e4ad31416 Reviewed-on: https://go-review.googlesource.com/38066Reviewed-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-check -all. Change-Id: Icf8b75364e4761a5e56567f503b2c1cb17382ed2 Reviewed-on: https://go-review.googlesource.com/38080 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Keith Randall <khr@golang.org>
-
khr authored
Move the zeroing of results earlier. In particular, they need to come before any move-to-heap operations, as those require allocation. Those allocations are points at which the GC can see the uninitialized result slots. For the function: func f() (x, y, z *int) { defer(){}() escape(&y) return } We used to generate code like this: x = nil y = nil &y = new(int) z = nil Now we will generate: x = nil y = nil z = nil &y = new(int) Since the fix for #18860, the return slots are always live if there is a defer, so the former ordering allowed the GC to see junk in the z slot. Fixes #19078 Change-Id: I71554ae437549725bb79e13b2c100b2911d47ed4 Reviewed-on: https://go-review.googlesource.com/38133 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Matthew Dempsky <mdempsky@google.com>
-
Ilya Tocar authored
Since https://go-review.googlesource.com/24040 we no longer pad functions in asm6, so funcAlign is unused. Delete it. Change-Id: Id710e545a76b1797398f2171fe7e0928811fcb31 Reviewed-on: https://go-review.googlesource.com/38134Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
The existing implementation started by eliminating nil checks for OpAddr, OpAddPtr, and OpPhis with all non-nil args. However, some OpPhis had all non-nil args, but their args had not been processed yet. Pull the OpPhi checks into their own loop, and repeat until stabilization. Eliminates a dozen additional nilchecks during make.bash. Negligible compiler performance impact. Change-Id: If7b803c3ad7582af7d9867d05ca13e03e109d864 Reviewed-on: https://go-review.googlesource.com/37999 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
David Chase <drchase@google.com>
-
Philip Hofer authored
With this change, code like h := sha1.New() h.Write(buf) sum := h.Sum() gets compiled into static calls rather than interface calls, because the compiler is able to prove that 'h' is really a *sha1.digest. The InterCall re-write rule hits a few dozen times during make.bash, and hundreds of times during all.bash. The most common pattern identified by the compiler is a constructor like func New() Interface { return &impl{...} } where the constructor gets inlined into the caller, and the result is used immediately. Examples include {sha1,md5,crc32,crc64,...}.New, base64.NewEncoder, base64.NewDecoder, errors.New, net.Pipe, and so on. Some existing benchmarks that change on darwin/amd64: Crc64/ISO4KB-8 2.67µs ± 1% 2.66µs ± 0% -0.36% (p=0.015 n=10+10) Crc64/ISO1KB-8 694ns ± 0% 690ns ± 1% -0.59% (p=0.001 n=10+10) Adler32KB-8 473ns ± 1% 471ns ± 0% -0.39% (p=0.010 n=10+9) On architectures like amd64, the reduction in code size appears to contribute more to benchmark improvements than just removing the indirect call, since that branch gets predicted accurately when called in a loop. Updates #19361 Change-Id: Ia9d30afdd5f6b4d38d38b14b88f308acae8ce7ed Reviewed-on: https://go-review.googlesource.com/37751 Run-TryBot: Philip Hofer <phofer@umich.edu> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Keith Randall <khr@golang.org>
-
Robert Griesemer authored
The (original) section on "Operators and Delimiters" introduced superfluous terminology ("delimiter", "special token") which didn't matter and was used inconsistently. Removed any mention of "delimiter" or "special token" and now simply group the special character tokens into "operators" (clearly defined via links), and "punctuation" (everything else). Fixes #19450. Change-Id: Ife31b24b95167ace096f93ed180b7eae41c66808 Reviewed-on: https://go-review.googlesource.com/38073Reviewed-by:
Matthew Dempsky <mdempsky@google.com> Reviewed-by:
Rob Pike <r@golang.org>
-
Chew Choon Keat authored
Fix last proxy in TestProxyFromEnvironment bleeds into other tests Change ResetProxyEnv to use the newer os.Unsetenv, instead of hard coding as "" Change-Id: I67cf833dbcf4bec2e10ea73c354334160cf05f84 Reviewed-on: https://go-review.googlesource.com/38115 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Dave Cheney authored
In Go 1.7 and earlier, gc.exportsize tracked the number of bytes written through exportf. With the removal of the old exporter in Go 1.8 exportf is only used for printing the build id, and the header and trailer of the binary export format. The size of the export data is now returned directly from the exporter and exportsize is never referenced. Remove it. Change-Id: Id301144b3c26c9004c722d0c55c45b0e0801a88c Reviewed-on: https://go-review.googlesource.com/38116 Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Dave Cheney authored
selectTag has been hard coded to only understand the tag `go1` since CL 6112060 which landed in 2012. The commit message asserted; Right now (before go1.0.1) there is only one possible tag, "go1", and I'd like to keep it that way. Remove goTag and the unused matching code in selectTag. Change-Id: I85f7c10f95704e22f8e8681266afd72bbcbe8fbd Reviewed-on: https://go-review.googlesource.com/38112Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dave Cheney authored
CL 32219 added precomputed sizeclass tables. Remove the unused sizeToClass method which was previously only called from initSizes. Change-Id: I907bf9ed78430ecfaabbec7fca77ef2375010081 Reviewed-on: https://go-review.googlesource.com/38113 Run-TryBot: Dave Cheney <dave@cheney.net> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Marcel Edmund Franke authored
Call body close after ioutil.ReadAll is done Change-Id: Ieceb1965a6a8f2dbc024e983acdfe22df17d07d1 Reviewed-on: https://go-review.googlesource.com/38059Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 12 Mar, 2017 2 commits
-
-
Martin Möhrmann authored
Some of the changes in CL golang.org/cl/38071/ assumed that / and % could always be combined to use only one DIV instruction. However, this is not the case for 64bit operands on a 32bit platform which use seperate runtime functions to calculate division and modulo. This CL restores the original optimizations that help on 32bit platforms with negligible impact on 64bit platforms. 386: name old time/op new time/op delta FormatInt-2 6.06µs ± 0% 6.02µs ± 0% -0.70% (p=0.000 n=20+20) AppendInt-2 4.98µs ± 0% 4.98µs ± 0% ~ (p=0.747 n=18+18) FormatUint-2 1.93µs ± 0% 1.85µs ± 0% -4.19% (p=0.000 n=20+20) AppendUint-2 1.71µs ± 0% 1.64µs ± 0% -3.68% (p=0.000 n=20+20) amd64: name old time/op new time/op delta FormatInt-2 2.41µs ± 0% 2.41µs ± 0% -0.09% (p=0.010 n=18+18) AppendInt-2 1.77µs ± 0% 1.77µs ± 0% +0.08% (p=0.000 n=18+18) FormatUint-2 653ns ± 1% 653ns ± 0% ~ (p=0.178 n=20+20) AppendUint-2 514ns ± 0% 513ns ± 0% -0.13% (p=0.000 n=20+17) Change-Id: I574a18e54fb41b25fbe51ce696e7a8765abc79a6 Reviewed-on: https://go-review.googlesource.com/38051 Run-TryBot: Martin Möhrmann <moehrmann@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Robert Griesemer <gri@golang.org>
-
Matthew Dempsky authored
This appears to be leftover from when instruction selection happened in the linker. Many of the morestackX functions listed don't even exist anymore. Now that we select instructions within the compiler and assembler, normal deadcode elimination mechanisms should suffice for these symbols. Change-Id: I2cb1e435101392e7c983957c4acfbbcc87a5ca7d Reviewed-on: https://go-review.googlesource.com/38077 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
- 11 Mar, 2017 4 commits
-
-
Aliaksandr Valialkin authored
Determine int, uint and uintptr bit sizes from GOARCH environment variable if it is set. Otherwise use host-specific sizes. Fixes #19321 Change-Id: I494b8e4b49b59d32794f50ff2ce06ba040cb8460 Reviewed-on: https://go-review.googlesource.com/37950 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by:
Josh Bleecher Snyder <josharian@gmail.com>
-
Ian Lance Taylor authored
This avoids a problem that occurs on FreeBSD 11, in which the clang 3.8 assembler issues a pointless warning when invoked with -g on a file that contains an empty .note.GNU-stack section. No test because there is no reasonable way to write one, but should fix the build on FreeBSD 11. Fixes #14705. Change-Id: I8c49bbf79a2c715c0e75495da19045fc92280e81 Reviewed-on: https://go-review.googlesource.com/38072 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
nat.setUint64 is nicely generic. By assuming 32- or 64-bit words, however, we can write simpler code, and eliminate some shifts in dead code that vet complains about. Generated code for 64 bit systems is unaltered. Generated code for 32 bit systems is much better. For 386, the routine length drops from 325 bytes of code to 271 bytes of code, with fewer loops. Change-Id: I1bc14c06272dee37a7fcb48d33dd1e621eba945d Reviewed-on: https://go-review.googlesource.com/38070 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Robert Griesemer <gri@golang.org>
-
Robert Griesemer authored
The compiler recognizes that in a sequence q = x/y; r = x%y only one division is required. Remove prior work-arounds and write more readable straight-line code (this also results in fewer instructions, though it doesn't appear to affect the benchmarks significantly). name old time/op new time/op delta FormatInt-8 2.95µs ± 1% 2.92µs ± 5% ~ (p=0.952 n=5+5) AppendInt-8 1.91µs ± 1% 1.89µs ± 2% ~ (p=0.421 n=5+5) FormatUint-8 795ns ± 2% 782ns ± 4% ~ (p=0.444 n=5+5) AppendUint-8 557ns ± 1% 557ns ± 2% ~ (p=0.548 n=5+5) https://perf.golang.org/search?q=upload:20170310.1 Also: - use uint instead of uintptr where we want to guarantee single- register operations - remove some unnecessary conversions (before indexing) - add more comments and fix some comments Change-Id: I04858dc2d798a6495879d9c7cfec2fdc2957b704 Reviewed-on: https://go-review.googlesource.com/38071Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 10 Mar, 2017 9 commits
-
-
David NewHamlet authored
In FreeBSD when run Go proc under a given sub-list of processors(e.g. 'cpuset -l 0 ./a.out' in multi-core system), runtime.NumCPU() still return all physical CPUs from sysctl hw.ncpu instead of account from sub-list. Fix by use syscall cpuset_getaffinity to account the number of sub-list. Fixes #15206 Change-Id: If87c4b620e870486efa100685db5debbf1210a5b Reviewed-on: https://go-review.googlesource.com/29341Reviewed-by:
Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
We are vendoring pprof from github.com/google/pprof, which comes with a main package. If we don't explicitly skip that main package, then `go install cmd` will install the compiled program in $GOROOT/bin. Fixes #19441. Change-Id: Ib268ffd16d4be65f7d80e4f8d9dc6e71523a94de Reviewed-on: https://go-review.googlesource.com/38007 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Raul Silvera <rsilvera@google.com> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Martí authored
Found by github.com/mvdan/unparam. Change-Id: Iabcdfec2ae42c735aa23210b7183080d750682ca Reviewed-on: https://go-review.googlesource.com/38030Reviewed-by:
Peter Weinberger <pjw@google.com> Run-TryBot: Peter Weinberger <pjw@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Bryan C. Mills authored
Change-Id: I0fa68ca9812fe5e82ffb9d0b9598e95b47183eb8 Reviewed-on: https://go-review.googlesource.com/38011Reviewed-by:
Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
It appears that this test is particularly sensitive to resource starvation. Returning it to non-parallel should reduce flakiness, by giving it the full system resources to run. Fixes #19161 Change-Id: I6e8906516629badaa0cffeb5712af649dc197f39 Reviewed-on: https://go-review.googlesource.com/38005 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
This triggers about 50k times during 32 bit make.bash. Change-Id: Ia0c2b1a8246b92173b4b0d94a4037626f76b6e73 Reviewed-on: https://go-review.googlesource.com/37998 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Cherry Zhang <cherryyz@google.com>
-
Josh Bleecher Snyder authored
They accounted for almost 30% of all CSE'd values. By never creating the duplicates in the first place, we reduce the high water mark of Value IDs, which in turn makes all SSA phases cheaper, particularly regalloc. name old time/op new time/op delta Template 200ms ± 3% 198ms ± 4% -0.87% (p=0.016 n=50+49) Unicode 86.9ms ± 2% 85.5ms ± 3% -1.56% (p=0.000 n=49+50) GoTypes 553ms ± 4% 551ms ± 4% ~ (p=0.183 n=50+49) SSA 3.97s ± 3% 3.93s ± 2% -1.06% (p=0.000 n=48+48) Flate 124ms ± 4% 124ms ± 3% ~ (p=0.545 n=48+50) GoParser 146ms ± 4% 146ms ± 4% ~ (p=0.810 n=49+49) Reflect 357ms ± 3% 355ms ± 3% -0.59% (p=0.049 n=50+48) Tar 106ms ± 4% 107ms ± 5% ~ (p=0.454 n=49+50) XML 203ms ± 4% 203ms ± 4% ~ (p=0.726 n=48+50) name old user-ns/op new user-ns/op delta Template 237M ± 3% 235M ± 4% ~ (p=0.208 n=47+48) Unicode 111M ± 4% 108M ± 9% -2.50% (p=0.000 n=47+50) GoTypes 736M ± 5% 729M ± 4% -0.95% (p=0.017 n=50+46) SSA 5.73G ± 4% 5.74G ± 4% ~ (p=0.765 n=50+50) Flate 150M ± 5% 148M ± 6% -0.89% (p=0.045 n=48+47) GoParser 180M ± 5% 178M ± 7% -1.34% (p=0.012 n=50+50) Reflect 450M ± 4% 444M ± 4% -1.40% (p=0.000 n=50+49) Tar 124M ± 7% 123M ± 7% ~ (p=0.092 n=50+50) XML 248M ± 6% 245M ± 5% ~ (p=0.057 n=50+50) name old alloc/op new alloc/op delta Template 39.4MB ± 0% 39.3MB ± 0% -0.37% (p=0.000 n=50+50) Unicode 30.9MB ± 0% 30.9MB ± 0% -0.27% (p=0.000 n=48+50) GoTypes 114MB ± 0% 113MB ± 0% -1.03% (p=0.000 n=50+49) SSA 882MB ± 0% 865MB ± 0% -1.95% (p=0.000 n=49+49) Flate 25.8MB ± 0% 25.7MB ± 0% -0.21% (p=0.000 n=50+50) GoParser 31.7MB ± 0% 31.6MB ± 0% -0.33% (p=0.000 n=50+50) Reflect 79.7MB ± 0% 79.3MB ± 0% -0.49% (p=0.000 n=44+49) Tar 27.2MB ± 0% 27.1MB ± 0% -0.31% (p=0.000 n=50+50) XML 42.7MB ± 0% 42.3MB ± 0% -1.05% (p=0.000 n=48+49) name old allocs/op new allocs/op delta Template 379k ± 1% 380k ± 1% +0.26% (p=0.000 n=50+50) Unicode 324k ± 1% 324k ± 1% ~ (p=0.964 n=49+50) GoTypes 1.14M ± 0% 1.15M ± 0% +0.14% (p=0.000 n=50+49) SSA 7.89M ± 0% 7.89M ± 0% -0.05% (p=0.000 n=49+49) Flate 240k ± 1% 241k ± 1% +0.27% (p=0.001 n=50+50) GoParser 310k ± 1% 311k ± 1% +0.48% (p=0.000 n=50+49) Reflect 1.00M ± 0% 1.00M ± 0% +0.17% (p=0.000 n=48+50) Tar 254k ± 1% 255k ± 1% +0.23% (p=0.005 n=50+50) XML 395k ± 1% 395k ± 1% +0.19% (p=0.002 n=49+47) Change-Id: Iaa8f5f37e23bd81983409f7359f9dcd4dfe2961f Reviewed-on: https://go-review.googlesource.com/38003 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Cherry Zhang <cherryyz@google.com>
-
Josh Bleecher Snyder authored
Minor fix, because it's the right thing to do. No significant impact. Change-Id: I2138285d397494daa9a88c414149c2a7860edd7e Reviewed-on: https://go-review.googlesource.com/38001 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
CLs 37254 and 37869 contained similar fixes. Change-Id: I0cbf01c691b54d82acef398489df6e9c89ebb83f Reviewed-on: https://go-review.googlesource.com/38000 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by:
Michael Munday <munday@ca.ibm.com>
-
- 09 Mar, 2017 13 commits
-
-
Josh Bleecher Snyder authored
Values have an Aux and an AuxInt. We're setting AuxInt, not Aux. Say so. Change-Id: I41aa783273bb7e1ba47c941aa4233f818e37dadd Reviewed-on: https://go-review.googlesource.com/37997 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
Compiler errors now show the exact line and line byte offset (sometimes called "column") of where an error occured. For `go tool compile x.go`: package p const c int = false //line foo.go:123 type t intg reports x.go:2:7: cannot convert false to type int foo.go:123[x.go:4:8]: undefined: intg (Some errors use the "wrong" position for the error message; arguably the byte offset for the first error should be 15, the position of 'false', rathen than 7, the position of 'c'. But that is an indepedent issue.) The byte offset (column) values are measured in bytes; they start at 1, matching the convention used by editors and IDEs. Positions modified by //line directives show the line offset only for the actual source location (in square brackets), not for the "virtual" file and line number because that code is likely generated and the //line directive only provides line information. Because the new format might break existing tools or scripts, printing of line offsets can be disabled with the new compiler flag -C. We plan to remove this flag eventually. Fixes #10324. Change-Id: I493f5ee6e78457cf7b00025aba6b6e28e50bb740 Reviewed-on: https://go-review.googlesource.com/37970Reviewed-by:
Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
We could leave it alone and fix line offset (column) numbers when reporting errors, but that is likely to cause confusion (internal numbers don't match reported numbers). Instead, switch to default numbering starting at 1. For package syntax-internal use only, introduced constants defining the line and column bases, and use them throughout the code and its tests. It is possible to change these constants and package syntax will continue to work. But changing them is going to break any client that makes explicit assumptions about line and column numbers (which is "all of them"). Change-Id: Ia3d136a8ec8d9372ed9c05ca47d3dff222cf030e Reviewed-on: https://go-review.googlesource.com/37996Reviewed-by:
Matthew Dempsky <mdempsky@google.com>
-
Paul Marks authored
When LookupIP is performing multiple subqueries, this option causes a timeout/servfail affecting a single query to abort the whole operation, instead of returning a partial (IPv4/IPv6-only) result. Similarly, operations that walk the DNS search list will also abort when encountering one of these errors. Fixes #17448 Change-Id: Ice22e4aceb555c5a80d19bd1fde8b8fe87ac9517 Reviewed-on: https://go-review.googlesource.com/32572Reviewed-by:
Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Philip Hofer authored
This change adds a method to replace expressions of the form v.Args[len(v.Args)-1] so that the code's intention to walk memory arguments is explicit. Passes toolstash-check. Change-Id: I0c80d73bc00989dd3cdf72b4f2c8e1075a2515e0 Reviewed-on: https://go-review.googlesource.com/37757 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:
Keith Randall <khr@golang.org>
-
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>
-