- 07 May, 2016 3 commits
-
-
Elias Naur authored
Buildmode c-archive now supports position independent code for darwin/arm (in addition to darwin/arm64). Make PIC (-shared) the default for both platforms in the default buildmode. Without this change, gomobile will go install the standard library into its separate package directory without PIC support. Also add -shared to darwin/arm64 in buildmode c-archive, for symmetry (darwin/arm64 always generates position independent code). Fixes #15519 Change-Id: If27d2cbea8f40982e14df25da2703cbba572b5c6 Reviewed-on: https://go-review.googlesource.com/22920Reviewed-by: David Crawshaw <crawshaw@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Tal Shprecher authored
The boolean destination in an OAS2DOTTYPE expression craps out during compilation when trying to assign to a map entry because, unlike slice entries, map entries are not directly addressable in memory. The solution is to properly order the boolean destination node so that map entries are set via autotmp variables. Fixes #14678 Change-Id: If344e8f232b5bdac1b53c0f0d21eeb43ab17d3de Reviewed-on: https://go-review.googlesource.com/22833Reviewed-by: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Elias Naur authored
In issue #13992, Russ mentioned that the heap bitmap footprint was halved but that the bitmap size calculation hadn't been updated. This presents the opportunity to either halve the bitmap size or double the addressable virtual space. This CL doubles the addressable virtual space. On 32 bit this can be tweaked further to allow the bitmap to cover the entire 4GB virtual address space, removing a failure mode if the kernel hands out memory with a too low address. First, fix the calculation and double _MaxArena32 to cover 4GB virtual memory space with the same bitmap size (256 MB). Then, allow the fallback mode for the initial memory reservation on 32 bit (or 64 bit with too little available virtual memory) to not include space for the arena. mheap.sysAlloc will automatically reserve additional space when the existing arena is full. Finally, set arena_start to 0 in 32 bit mode, so that any address is acceptable for subsequent (additional) reservations. Before, the bitmap was always located just before arena_start, so fix the two places relying on that assumption: Point the otherwise unused mheap.bitmap to one byte after the end of the bitmap, and use it for bitmap addressing instead of arena_start. With arena_start set to 0 on 32 bit, the cgoInRange check is no longer a sufficient check for Go pointers. Introduce and call inHeapOrStack to check whether a pointer is to the Go heap or stack. While we're here, remove sysReserveHigh which seems to be unused. Fixes #13992 Change-Id: I592b513148a50b9d3967b5c5d94b86b3ec39acc2 Reviewed-on: https://go-review.googlesource.com/20471Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 06 May, 2016 27 commits
-
-
Brad Fitzpatrick authored
Change-Id: Ifd707a4bbfcb1721655b4fce2045f3b043e66818 Reviewed-on: https://go-review.googlesource.com/22859Reviewed-by: Russ Cox <rsc@golang.org>
-
Brad Fitzpatrick authored
e.g. https://storage.googleapis.com/go-build-log/9b937dd8/linux-arm_df54a25a.log Change-Id: Ic5864c7bd840b4f0c6341f919fcbcd5c708b14e7 Reviewed-on: https://go-review.googlesource.com/22881Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
The old code assumed that the thread ID set by pthread_create would be available in the newly created thread. While that is clearly true eventually, it is not necessarily true immediately. Rather than try to pass down the thread ID, just call pthread_self in the created thread. Fixes #15576 (I hope). Change-Id: Ic07086b00e4fd5676c04719a299c583320da64a1 Reviewed-on: https://go-review.googlesource.com/22880 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
This reverts commit 9f1ccd64. For #14860. Change-Id: I63522a4dda8915dc8b972ae2e12495553ed65f09 Reviewed-on: https://go-review.googlesource.com/22861Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Might deflake the occasional linux-amd64-race failures. Change-Id: I273b0e32bb92236168eb99887b166e079799c1f1 Reviewed-on: https://go-review.googlesource.com/22858Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Fixes #15577 Change-Id: I5f023790a393b17235db2e66c02c2483773ddc1a Reviewed-on: https://go-review.googlesource.com/22857Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
This reverts commit 0ccabe2e. Change-Id: Ib1c230fb6801c0ee26f4a352b0c1130fa240a76a Reviewed-on: https://go-review.googlesource.com/22860Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Change-Id: Ice9c234960adc7857c8370b777a0b18e29d59281 Reviewed-on: https://go-review.googlesource.com/22853Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
We run the external network tests on builders, but some of our builders have less-than-ideal DNS connectivity. This change continues to run the tests on all builders, but marks certain builders as flaky (network-wise), and only validates their DNS results if they got DNS results. Change-Id: I826dc2a6f6da55add89ae9c6db892b3b2f7b526b Reviewed-on: https://go-review.googlesource.com/22852Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
I meant to delete these in CL 22850, actually. Change-Id: I0c286efd2b9f1caf0221aa88e3bcc03649c89517 Reviewed-on: https://go-review.googlesource.com/22851Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alberto Donizetti authored
Fixes #15570 Change-Id: I95d1ac26e342c3bbf36ad1f0209711ea96eaf487 Reviewed-on: https://go-review.googlesource.com/22870Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Aliaksandr Valialkin authored
Embed noLock struct into the following types, so `go vet -copylocks` catches their copying additionally to types containing sync.Mutex: - sync.Cond - sync.WaitGroup - sync.Pool - atomic.Value Fixes #14582 Change-Id: Icb543ef5ad10524ad239a15eec8a9b334b0e0660 Reviewed-on: https://go-review.googlesource.com/22015Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Richard Miller authored
This is the follow-on to CL 22610: now that it's the child instead of the parent which lists unwanted fds to close in syscall.StartProcess, plan9 no longer needs the ForkLock to protect the list from changing. The readdupdevice function is also now unused and can be removed. Change-Id: I904c8bbf5dbaa7022b0f1a1de0862cd3064ca8c7 Reviewed-on: https://go-review.googlesource.com/22842Reviewed-by: David du Colombier <0intro@gmail.com> Run-TryBot: David du Colombier <0intro@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Change-Id: Ib0ba691c4657fe18a4659753e70d97c623cb9c1d Reviewed-on: https://go-review.googlesource.com/22850 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Cherry Zhang authored
Re-enable TestFP in cmd/compile/internal/gc on mips64. Fixes #15552. Change-Id: I5c3a5564b94d28c723358f0862468fb6da371991 Reviewed-on: https://go-review.googlesource.com/22835Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ilya Tocar authored
name old time/op new time/op delta Hash8Bytes-48 271ns ± 8% 273ns ± 5% ~ (p=0.313 n=19+19) Hash320Bytes-48 1.04µs ± 7% 0.75µs ± 8% -27.66% (p=0.000 n=20+20) Hash1K-48 2.72µs ± 6% 1.75µs ± 6% -35.79% (p=0.000 n=19+20) Hash8K-48 19.9µs ± 7% 11.6µs ± 6% -41.84% (p=0.000 n=20+19) name old speed new speed delta Hash8Bytes-48 29.5MB/s ± 8% 29.3MB/s ± 5% ~ (p=0.314 n=19+19) Hash320Bytes-48 307MB/s ± 7% 424MB/s ± 8% +38.29% (p=0.000 n=20+20) Hash1K-48 377MB/s ± 6% 587MB/s ± 6% +55.76% (p=0.000 n=19+20) Hash8K-48 413MB/s ± 7% 709MB/s ± 6% +71.85% (p=0.000 n=20+19) Change-Id: I2963cf744eeb2e8191d4e4223fbf6f533a7fd405 Reviewed-on: https://go-review.googlesource.com/22607 Run-TryBot: Ilya Tocar <ilya.tocar@intel.com> Reviewed-by: Russ Cox <rsc@golang.org> Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ilya Tocar authored
name old time/op new time/op delta Hash8Bytes-4 376ns ± 0% 246ns ± 0% -34.57% (p=0.000 n=20+20) Hash1K-4 5.21µs ± 0% 2.82µs ± 0% -45.83% (p=0.000 n=20+20) Hash8K-4 38.6µs ± 0% 20.8µs ± 0% -46.05% (p=0.000 n=20+20) name old speed new speed delta Hash8Bytes-4 21.2MB/s ± 0% 32.4MB/s ± 0% +52.70% (p=0.000 n=15+19) Hash1K-4 197MB/s ± 0% 363MB/s ± 0% +84.60% (p=0.000 n=20+20) Hash8K-4 212MB/s ± 0% 393MB/s ± 0% +85.36% (p=0.000 n=20+20) Change-Id: Ib50119c591074ff486d11d3566e24b691bcc6598 Reviewed-on: https://go-review.googlesource.com/22608 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Elias Naur authored
Now that darwin/arm supports position independent code, allow the binaries generated by the c-archive tests be position independent (PIE) as well. Change-Id: If0517f06e92349ada29a4e3e0a951f08b0fcc710 Reviewed-on: https://go-review.googlesource.com/22841Reviewed-by: David Crawshaw <crawshaw@golang.org> Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ilya Tocar authored
This means: VPSHUFB, VPSHUFD, VPERM2F128, VPALIGNR, VPADDQ, VPADDD, VPSRLDQ, VPSLLDQ, VPSRLQ, VPSLLQ, VPSRLD, VPSLLD, VPOR, VPBLENDD, VINSERTI128, VPERM2I128, RORXL, RORXQ. Change-Id: Ief27190ee6acfa86b109262af5d999bc101e923d Reviewed-on: https://go-review.googlesource.com/22606 Run-TryBot: Ilya Tocar <ilya.tocar@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Shenghou Ma authored
Fixes #15148. Change-Id: If3b628f30521adeec1625689dbc98aaf4a9ec858 Reviewed-on: https://go-review.googlesource.com/22811Reviewed-by: Keith Randall <khr@golang.org> Run-TryBot: Minux Ma <minux@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Cherry Zhang authored
Change-Id: I9ac2ae57a00cee23d6255db02419b0a0f087d4f3 Reviewed-on: https://go-review.googlesource.com/22801Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Minux Ma <minux@golang.org>
-
Robert Griesemer authored
Accidentally checked in the version of file c.go that doesn't exhibit the bug - hence the test was not testing the bug fix. Double-checked that this version exposes the bug w/o the fix. Change-Id: Ie4dc455229d1ac802a80164b5d549c2ad4d971f5 Reviewed-on: https://go-review.googlesource.com/22837 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Brad Fitzpatrick authored
Fixes #12272 Change-Id: I2115ec62ed4061084c482eb385a583a1c1909888 Reviewed-on: https://go-review.googlesource.com/22838Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Minux Ma <minux@golang.org>
-
Joe Tsai authored
The Reader and Writer have hard-coded constants regarding the offsets and lengths of certain fields in the tar format sprinkled all over. This makes it harder to verify that the offsets are correct since a reviewer would need to search for them throughout the code. Instead, all information about the layout of header fields should be centralized in one single file. This has the advantage of being both centralized, and also acting as a form of documentation about the header struct format. This method was chosen over using "encoding/binary" since that method would cause an allocation of a header struct every time binary.Read was called. This method causes zero allocations and its logic is no longer than if structs were declared. Updates #12594 Change-Id: Ic7a0565d2a2cd95d955547ace3b6dea2b57fab34 Reviewed-on: https://go-review.googlesource.com/14669Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
This can only happen when profiling and there is foreign code at the top of the g0 stack but we're not in cgo. That in turn only happens with the race detector. Fixes #13568. Change-Id: I23775132c9c1a3a3aaae191b318539f368adf25e Reviewed-on: https://go-review.googlesource.com/18322Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Mikio Hara authored
Updates #14518. This reverts commit 3e9264c9. Change-Id: I2531b04efc735b5b51ef675541172f2f5ae747d9 Reviewed-on: https://go-review.googlesource.com/22836Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Joe Tsai authored
CL/19862 (f79b50b8) recently introduced the constants SeekStart, SeekCurrent, and SeekEnd to the io package. We should use these constants consistently throughout the code base. Updates #15269 Change-Id: If7fcaca7676e4a51f588528f5ced28220d9639a2 Reviewed-on: https://go-review.googlesource.com/22097Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Joe Tsai <joetsai@digital-static.net> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 05 May, 2016 10 commits
-
-
David Chase authored
Negative-case conversion code was wrong for minimum int32, used negate-then-widen instead of widen-then-negate. Test already exists; this fixes the failure. Fixes #15563. Change-Id: I4b0b3ae8f2c9714bdcc405d4d0b1502ccfba2b40 Reviewed-on: https://go-review.googlesource.com/22830 Run-TryBot: David Chase <drchase@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alan Donovan authored
Change-Id: Ie163deade396b3e298a93845b9ca4d52333ea82a Reviewed-on: https://go-review.googlesource.com/22831Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Richard Miller authored
This test should now succeed after CL 22610 which fixes issue #7118 Change-Id: Ie785a84d77b27c832a1ddd81699bf25dab24b97d Reviewed-on: https://go-review.googlesource.com/22640Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: David du Colombier <0intro@gmail.com> Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Richard Miller authored
Reviving earlier work by @ality in https://golang.org/cl/57890043 to make the closing of extra file descriptors in syscall.StartProcess less race-prone. Instead of making a list of open fds in the parent before forking, the child can read through the list of open fds and close the ones not explicitly requested. Also eliminate the complication of keeping open any extra fds which were inherited by the parent when it started. This CL will be followed by one to eliminate the ForkLock in plan9, which is now redundant. Fixes #5605 Change-Id: I6b4b942001baa54248b656c52dced3b62021c486 Reviewed-on: https://go-review.googlesource.com/22610 Run-TryBot: David du Colombier <0intro@gmail.com> Reviewed-by: David du Colombier <0intro@gmail.com>
-
Andrew Gerrand authored
Fixes #15559 Change-Id: Ie58650f35e32c1f49669134b62876357abcdc583 Reviewed-on: https://go-review.googlesource.com/22823Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
Fixes #15548. Change-Id: I1dfa9c8739a4b6d5e4c737c1a1e09e80e045b7aa Reviewed-on: https://go-review.googlesource.com/22803Reviewed-by: Alan Donovan <adonovan@google.com>
-
Emmanuel Odeke authored
Adds a small function signame that infers a signal name from the signal table, otherwise will fallback to using hex(sig) as previously. No signal table is present for Windows hence it will always print the hex value. Sample code and new result: ```go package main import ( "fmt" "time" ) func main() { defer func() { if err := recover(); err != nil { fmt.Printf("err=%v\n", err) } }() ticker := time.Tick(1e9) for { <-ticker } } ``` ```shell $ go run main.go & $ kill -11 <pid> fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0xb01dfacedebac1e pc=0xc71db] ... ``` Fixes #13969 Change-Id: Ie6be312eb766661f1cea9afec352b73270f27f9d Reviewed-on: https://go-review.googlesource.com/22753Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Russ Cox authored
Fixes #13623. Change-Id: I1bd96aa7b6b715e4dbdcf0c37c2d29228df6565c Reviewed-on: https://go-review.googlesource.com/18329Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Lynn Boger authored
The following performance improvements have been made to the low-level atomic functions for ppc64le & ppc64: - For those cases containing a lwarx and stwcx (or other sizes): sync, lwarx, maybe something, stwcx, loop to sync, sync, isync The sync is moved before (outside) the lwarx/stwcx loop, and the sync after is removed, so it becomes: sync, lwarx, maybe something, stwcx, loop to lwarx, isync - For the Or8 and And8, the shifting and manipulation of the address to the word aligned version were removed and the instructions were changed to use lbarx, stbcx instead of register shifting, xor, then lwarx, stwcx. - New instructions LWSYNC, LBAR, STBCC were tested and added. runtime/atomic_ppc64x.s was changed to use the LWSYNC opcode instead of the WORD encoding. Fixes #15469 Ran some of the benchmarks in the runtime and sync directories. Some results varied from run to run but the trend was improvement based on best times for base and new: runtime.test: BenchmarkChanNonblocking-128 0.88 0.89 +1.14% BenchmarkChanUncontended-128 569 511 -10.19% BenchmarkChanContended-128 63110 53231 -15.65% BenchmarkChanSync-128 691 598 -13.46% BenchmarkChanSyncWork-128 11355 11649 +2.59% BenchmarkChanProdCons0-128 2402 2090 -12.99% BenchmarkChanProdCons10-128 1348 1363 +1.11% BenchmarkChanProdCons100-128 1002 746 -25.55% BenchmarkChanProdConsWork0-128 2554 2720 +6.50% BenchmarkChanProdConsWork10-128 1909 1804 -5.50% BenchmarkChanProdConsWork100-128 1624 1580 -2.71% BenchmarkChanCreation-128 237 212 -10.55% BenchmarkChanSem-128 705 667 -5.39% BenchmarkChanPopular-128 5081190 4497566 -11.49% BenchmarkCreateGoroutines-128 532 473 -11.09% BenchmarkCreateGoroutinesParallel-128 35.0 34.7 -0.86% BenchmarkCreateGoroutinesCapture-128 4923 4200 -14.69% sync.test: BenchmarkUncontendedSemaphore-128 112 94.2 -15.89% BenchmarkContendedSemaphore-128 133 128 -3.76% BenchmarkMutexUncontended-128 1.90 1.67 -12.11% BenchmarkMutex-128 353 310 -12.18% BenchmarkMutexSlack-128 304 283 -6.91% BenchmarkMutexWork-128 554 541 -2.35% BenchmarkMutexWorkSlack-128 567 556 -1.94% BenchmarkMutexNoSpin-128 275 242 -12.00% BenchmarkMutexSpin-128 1129 1030 -8.77% BenchmarkOnce-128 1.08 0.96 -11.11% BenchmarkPool-128 29.8 27.4 -8.05% BenchmarkPoolOverflow-128 40564 36583 -9.81% BenchmarkSemaUncontended-128 3.14 2.63 -16.24% BenchmarkSemaSyntNonblock-128 1087 1069 -1.66% BenchmarkSemaSyntBlock-128 897 893 -0.45% BenchmarkSemaWorkNonblock-128 1034 1028 -0.58% BenchmarkSemaWorkBlock-128 949 886 -6.64% Change-Id: I4403fb29d3cd5254b7b1ce87a216bd11b391079e Reviewed-on: https://go-review.googlesource.com/22549Reviewed-by: Michael Munday <munday@ca.ibm.com> Reviewed-by: Minux Ma <minux@golang.org>
-
Shenghou Ma authored
Change-Id: I9354712768702e3b083c77f30165a34cb414d686 Reviewed-on: https://go-review.googlesource.com/22810Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-