- 14 Apr, 2016 18 commits
-
-
Jeremy Jackins authored
These comments were left behind after runtime.h was converted from C to Go. I examined the original code and tried to move these to the places that the most sense. Change-Id: I8769d60234c0113d682f9de3bd8d6c34c450c188 Reviewed-on: https://go-review.googlesource.com/21969Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Munday authored
s390x can handle unaligned loads and stores of 64-bit values. Change-Id: Iae5621781e3ba56e27b4a1f4788772c86e4f6475 Reviewed-on: https://go-review.googlesource.com/22086Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
David Chase authored
This is a fix for the ssacheck builder http://build.golang.org/log/baa00f70c34e41186051cfe90568de3d91f115d7 after CL 21307 for sinking spills down loop exits https://go-review.googlesource.com/#/c/21037/ The fix is to reuse (move) the original spill, thus preserving the definition of the variable and its use count. Original and copy both use the same stack slot, but ssacheck needs to see a definition for the variable itself. Fixes #15279. Change-Id: I286285490193dc211b312d64dbc5a54867730bd6 Reviewed-on: https://go-review.googlesource.com/21995Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alan Donovan authored
+ test Fixes #15305 Change-Id: Ica657c00c92f0b19f0df7452cdbe5a95d23cc8a4 Reviewed-on: https://go-review.googlesource.com/22085Reviewed-by: Robert Griesemer <gri@golang.org>
-
Josh Bleecher Snyder authored
Fixes #15271 Change-Id: I28e3fb5bde1e6fd5b263b1434873b8ce051aee97 Reviewed-on: https://go-review.googlesource.com/22083 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Matthew Dempsky authored
Also add MustClose and MustWriter to cmd/internal/bio, and use them in cmd/asm. Change-Id: I07f5df3b66c17bc5b2e6ec9c4357d9b653e354e0 Reviewed-on: https://go-review.googlesource.com/21938 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Adam Langley authored
The AuthorityKeyId is optional for self-signed certificates, generally useless, and takes up space. This change causes an AuthorityKeyId not to be added to self-signed certificates, although it can still be set in the template if the caller really wants to include it. Fixes #15194. Change-Id: If5d3c3d9ca9ae5fe67458291510ec7140829756e Reviewed-on: https://go-review.googlesource.com/21895Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Adam Langley authored
Error strings in this package were all over the place: some were prefixed with “tls:”, some with “crypto/tls:” and some didn't have a prefix. This change makes everything use the prefix “tls:”. Change-Id: Ie8b073c897764b691140412ecd6613da8c4e33a2 Reviewed-on: https://go-review.googlesource.com/21893Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
Luan Santos authored
We can trust that untyped composite literals are part of a slice literal and not emit a vet warning for those. Fixes #9171 Change-Id: Ia7c081e543b850f8be1fd1f9e711520061e70bed Reviewed-on: https://go-review.googlesource.com/22000 Run-TryBot: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
Dmitry Vyukov authored
The old trace-viewer is broken since Chrome 49: https://bugs.chromium.org/p/chromium/issues/detail?id=569417 It was fixed in: https://github.com/catapult-project/catapult/commit/506457cbd726324f327b80ae11f46c1dfeb8710d This change updates trace-viewer to the latest version (now it is called catapult). This version has a bug in the lean config that we use, though: https://github.com/catapult-project/catapult/issues/2247 So use full config for now (it works, but leads to larger html). When the bug is fixed we need to switch back to lean config (issue #15302). Change-Id: Ifb8d782ced66e3292d81c5604039fe18eaf267c5 Reviewed-on: https://go-review.googlesource.com/22013Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Marcel van Lohuizen authored
The synchronization in this test is a bit complicated and likely incorrect, judging from the sporadically hanging trybots. Most of what this is supposed to test is already tested in TestTestContext, so I'll just remove it. Fixes #15170 Change-Id: If54db977503caa109cec4516974eda9191051888 Reviewed-on: https://go-review.googlesource.com/22080 Run-TryBot: Marcel van Lohuizen <mpvl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Mikio Hara authored
Fixes #15291. Change-Id: I563140c2acd37d4989a940488b217414cf73f6c2 Reviewed-on: https://go-review.googlesource.com/22077Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Mikio Hara authored
Change-Id: I6644081df495cb92b3d208f867066f9acb08946f Reviewed-on: https://go-review.googlesource.com/22074 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Mikio Hara authored
Change-Id: I41691134770d01805c19c0f84f8828b00b85de0c Reviewed-on: https://go-review.googlesource.com/22058 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Change-Id: I9bda2ce6f45fb8292503f86d8f9f161601f222b7 Reviewed-on: https://go-review.googlesource.com/22053Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
-
Matthew Dempsky authored
Some of the Debug[x] flags are actually boolean too, but not all, so they need to be handled separately. While here, change some obj.Flagstr and obj.Flagint64 calls to directly use flag.StringVar and flag.Int64Var instead. Change-Id: Iccedf6fed4328240ee2257f57fe6d66688f237c4 Reviewed-on: https://go-review.googlesource.com/22052Reviewed-by: Michael Hudson-Doyle <michael.hudson@canonical.com>
-
Robert Griesemer authored
Tested with debugFormat enabled and running (export GO_GCFLAGS=-newexport; sh all.bash). Change-Id: If7d43e1e594ea43c644232b89e670f7abb6b003e Reviewed-on: https://go-review.googlesource.com/22033Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Rob Pike authored
Documentation change only. Fixes #15178. Change-Id: I3c7d80ce9e668ac7515f7ebb9da80f3bd8e534d6 Reviewed-on: https://go-review.googlesource.com/22006Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 13 Apr, 2016 22 commits
-
-
Robert Griesemer authored
Also: - "rewrite" node Op in exporter for some nodes instead of importer - more comments Change-Id: I809e6754d14987b28f1da9379951ffa2e690c2a7 Reviewed-on: https://go-review.googlesource.com/22008Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Lynn Boger authored
The existing epoll_event structure used by many of the epoll_* syscalls was defined incorrectly for use with ppc64le & ppc64 in the syscall directory. This resulted in the caller getting incorrect information on return from these syscalls. This caused failures in fsnotify as well as builds with upstream Docker. The structure is defined correctly in gccgo. This adds a pad field that is expected for these syscalls on ppc64le, ppc64. Fixes #15135 Change-Id: If7e8ea9eb1d1ca5182c8dc0f935b334127341ffd Reviewed-on: https://go-review.googlesource.com/21582Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
By replacing the *string used to represent pkgPath with a reflect.name everywhere, the embedded *string for package paths inside the reflect.name can be replaced by an offset, nameOff. This reduces the number of pointers in the type information. This also moves all reflect.name types into the same section, making it possible to use nameOff more widely in later CLs. No significant binary size change for normal binaries, but: linux/amd64 PIE: cmd/go: -440KB (3.7%) jujud: -2.6MB (3.2%) For #6853. Change-Id: I3890b132a784a1090b1b72b32febfe0bea77eaee Reviewed-on: https://go-review.googlesource.com/21395 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Change-Id: If0e0bc5a85101db1e70faaab168fc2d12024eb93 Reviewed-on: https://go-review.googlesource.com/22005Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Merge them together into os1_darwin.go. A future CL will rename it. Change-Id: Ia4380d3296ebd5ce210908ce3582ff184566f692 Reviewed-on: https://go-review.googlesource.com/22004 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Crawshaw authored
Fixes #15104. Change-Id: I9ddfbbf39ef0a873b703ee3e04fbb7d1192f5f39 Reviewed-on: https://go-review.googlesource.com/21581 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Todd Neal authored
We do two O(n) scans of all values in an eqclass when computing substitutions for CSE. In unfortunate cases, like those found in #15112, we can have a large eqclass composed of values found in blocks none of whom dominate the other. This leads to O(n^2) behavior. The elements are removed one at a time, with O(n) scans each time. This CL removes the linear scan by sorting the eqclass so that dominant values will be sorted first. As long as we also ensure we don't disturb the sort order, then we no longer need to scan for the maximally dominant value. For the code in issue #15112: Before: real 1m26.094s user 1m30.776s sys 0m1.125s Aefter: real 0m52.099s user 0m56.829s sys 0m1.092s Updates #15112 Change-Id: Ic4f8680ed172e716232436d31963209c146ef850 Reviewed-on: https://go-review.googlesource.com/21981Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Run-TryBot: Todd Neal <todd@tneal.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Austin Clements authored
Make it clear that the point of this function stores a pointer *without* a write barrier. sed -i -e 's/Storep1/StorepNoWB/' $(git grep -l Storep1) Updates #15270. Change-Id: Ifad7e17815e51a738070655fe3b178afdadaecf6 Reviewed-on: https://go-review.googlesource.com/21994Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Michael Matloob <matloob@golang.org>
-
Dmitry Vyukov authored
Go runtime never emits PCs that are not a return address (except for cpu profiler). Change-Id: I08d9dc5c7c71e23f34f2f0c16f8baeeb4f64fcd6 Reviewed-on: https://go-review.googlesource.com/21735Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
Change-Id: Ic7a1fb0dbbf108052c970a4a830269a5673df7df Reviewed-on: https://go-review.googlesource.com/21963Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
Instead of indicating with each function signature if it has an inlineable body, collect all functions in order and export function bodies with function index in platform-specific section. Moves this compiler specific information out of the platform-independent export data section, and removes an int value for all functions w/o body. Also simplifies the code a bit. Change-Id: I8b2d7299dbe81f2706be49ecfb9d9f7da85fd854 Reviewed-on: https://go-review.googlesource.com/21939Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Austin Clements authored
atomic.Storep1 is not supposed to invoke a write barrier (that's what atomicstorep is for), but currently does on s390x. This causes a panic in runtime.mapzero when it tries to use atomic.Storep1 to store what's actually a scalar. Fix this by eliminating the write barrier from atomic.Storep1 on s390x. Also add some documentation to atomicstorep to explain the difference between these. Fixes #15270. Change-Id: I291846732d82f090a218df3ef6351180aff54e81 Reviewed-on: https://go-review.googlesource.com/21993Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Michael Munday <munday@ca.ibm.com>
-
David Chase authored
For call-free inner loops. Revised statistics: 85 inner loop spills sunk 341 inner loop spills remaining 1162 inner loop spills that were candidates for sinking ended up completely register allocated 119 inner loop spills could have been sunk were used in "shuffling" at the bottom of the loop. 1 inner loop spill not sunk because the register assigned changed between def and exit, Understanding how to make an inner loop definition not be a candidate for from-memory shuffling (to force the shuffle code to choose some other value) should pick up some of the 119 other spills disqualified for this reason. Modified the stats printing based on feedback from Austin. Change-Id: If3fb9b5d5a028f42ccc36c4e3d9e0da39db5ca60 Reviewed-on: https://go-review.googlesource.com/21037Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Lynn Boger authored
This change improves the performance of memmove on ppc64 & ppc64le mainly for moves >=32 bytes. In addition, the test to detect backward moves was enhanced to avoid backward moves if source and dest were in different types of storage, since backward moves might not always be efficient. Fixes #14507 The following shows some of the improvements from the test in the runtime package: BenchmarkMemmove32 4229.56 4717.13 1.12x BenchmarkMemmove64 6156.03 7810.42 1.27x BenchmarkMemmove128 7521.69 12468.54 1.66x BenchmarkMemmove256 6729.90 18260.33 2.71x BenchmarkMemmove512 8521.59 18033.81 2.12x BenchmarkMemmove1024 9760.92 25762.61 2.64x BenchmarkMemmove2048 10241.00 29584.94 2.89x BenchmarkMemmove4096 10399.37 31882.31 3.07x BenchmarkMemmoveUnalignedDst16 1943.69 2258.33 1.16x BenchmarkMemmoveUnalignedDst32 3885.08 3965.81 1.02x BenchmarkMemmoveUnalignedDst64 5121.63 6965.54 1.36x BenchmarkMemmoveUnalignedDst128 7212.34 11372.68 1.58x BenchmarkMemmoveUnalignedDst256 6564.52 16913.59 2.58x BenchmarkMemmoveUnalignedDst512 8364.35 17782.57 2.13x BenchmarkMemmoveUnalignedDst1024 9539.87 24914.72 2.61x BenchmarkMemmoveUnalignedDst2048 9199.23 21235.11 2.31x BenchmarkMemmoveUnalignedDst4096 10077.39 25231.99 2.50x BenchmarkMemmoveUnalignedSrc32 3249.83 3742.52 1.15x BenchmarkMemmoveUnalignedSrc64 5562.35 6627.96 1.19x BenchmarkMemmoveUnalignedSrc128 6023.98 10200.84 1.69x BenchmarkMemmoveUnalignedSrc256 6921.83 15258.43 2.20x BenchmarkMemmoveUnalignedSrc512 8593.13 16541.97 1.93x BenchmarkMemmoveUnalignedSrc1024 9730.95 22927.84 2.36x BenchmarkMemmoveUnalignedSrc2048 9793.28 21537.73 2.20x BenchmarkMemmoveUnalignedSrc4096 10132.96 26295.06 2.60x Change-Id: I73af59970d4c97c728deabb9708b31ec7e01bdf2 Reviewed-on: https://go-review.googlesource.com/21990Reviewed-by: Bill O'Farrell <billotosyr@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David Crawshaw authored
Minor cleanup. Change-Id: I7574f58a7e55c2bb798ebe9c7c98d36b8c258fb8 Reviewed-on: https://go-review.googlesource.com/21982 Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David Crawshaw authored
This CL introduces the typeOff type and a lookup method of the same name that can turn a typeOff offset into an *rtype. In a typical Go binary (built with buildmode=exe, pie, c-archive, or c-shared), there is one moduledata and all typeOff values are offsets relative to firstmoduledata.types. This makes computing the pointer cheap in typical programs. With buildmode=shared (and one day, buildmode=plugin) there are multiple modules whose relative offset is determined at runtime. We identify a type in the general case by the pair of the original *rtype that references it and its typeOff value. We determine the module from the original pointer, and then use the typeOff from there to compute the final *rtype. To ensure there is only one *rtype representing each type, the runtime initializes a typemap for each module, using any identical type from an earlier module when resolving that offset. This means that types computed from an offset match the type mapped by the pointer dynamic relocations. A series of followup CLs will replace other *rtype values with typeOff (and name/*string with nameOff). For types created at runtime by reflect, type offsets are treated as global IDs and reference into a reflect offset map kept by the runtime. darwin/amd64: cmd/go: -57KB (0.6%) jujud: -557KB (0.8%) linux/amd64 PIE: cmd/go: -361KB (3.0%) jujud: -3.5MB (4.2%) For #6853. Change-Id: Icf096fd884a0a0cb9f280f46f7a26c70a9006c96 Reviewed-on: https://go-review.googlesource.com/21285Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alexandru Moșoi authored
Missed this in the previous CL where the shared dom tree was introduced. Change-Id: If0bd85d4b4567d7e87814ed511603b1303ab3903 Reviewed-on: https://go-review.googlesource.com/21970 Run-TryBot: Alexandru Moșoi <alexandru@mosoi.ro> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Shahar Kohanim authored
After non pcln fields were added to it in a previous commit. Change-Id: Icf92c0774d157c61399a6fc2a3c4d2cd47a634d2 Reviewed-on: https://go-review.googlesource.com/21921 Run-TryBot: Shahar Kohanim <skohanim@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Tal Shprecher authored
Map keys are currently validated in multiple locations but share a common validation routine. The problem is that early validations should be lenient enough to allow for forward types while the final validations should not. The final validations should fail on forward types since they've already settled. This change also separates the key type checking from the creation of the map via typMap. Instead of the mapqueue being populated in copytype() by checking the map line number, it's populated in the same block that validates the key type. This isolates key validation logic while type checking. Fixes #14988 Change-Id: Ia47cf6213585d6c63b3a35249104c0439feae658 Reviewed-on: https://go-review.googlesource.com/21830Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Matthew Dempsky authored
Fixes #11361. Change-Id: I70b8808f97f0e07de680e7e6ede1322ea0fdbbc0 Reviewed-on: https://go-review.googlesource.com/21936Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Tal Shprecher authored
Change-Id: Ica0ec84714d7f01d800d62fa10cdb08321d43cf3 Reviewed-on: https://go-review.googlesource.com/21967Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Matthew Dempsky authored
No need to acquire the M just to change G's paniconfault flag, and the original C implementation of SetPanicOnFault did not. The M acquisition logic is an artifact of golang.org/cl/131010044, which was started before golang.org/cl/123640043 (which introduced the current "getg" function) was submitted. Change-Id: I6d1939008660210be46904395cf5f5bbc2c8f754 Reviewed-on: https://go-review.googlesource.com/21935 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-