- 24 Aug, 2017 4 commits
-
-
Chris Broadfoot authored
Change-Id: I0899ec0150f2a051b7572879b446a8548f742ae0 Reviewed-on: https://go-review.googlesource.com/58731 Run-TryBot: Chris Broadfoot <cbro@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Chris Broadfoot authored
Pre-emptive. Go 1.9 is expected to be released in August. Change-Id: I0f58c012c4110bf490022dc2c1d69c0988d73bfa Reviewed-on: https://go-review.googlesource.com/52351Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/58730Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Chris Broadfoot authored
Change-Id: I97075f24319a4b96cbeb9e3ff2e7b2056ff59e32 Reviewed-on: https://go-review.googlesource.com/58651Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-on: https://go-review.googlesource.com/58710Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Ryuji IWATA authored
Change-Id: I71bfff6a3462e6dfd7a65ef76ec56644bae37c34 Reviewed-on: https://go-review.googlesource.com/57272Reviewed-by: Avelino <t@avelino.xxx> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-on: https://go-review.googlesource.com/58650Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 22 Aug, 2017 2 commits
-
-
Josh Bleecher Snyder authored
[This is a cherry-pick of CL 54090 to the 1.9 release branch.] gc.Sysfunc must not be called concurrently. We set up runtime routines used by the backend prior to doing any backend compilation. I missed the 387 ones; fix that. Sysfunc should have been unexported during 1.9. I will rectify that in a subsequent CL. Fixes #21352 Change-Id: I485bb1867b46d8e5cf64bc820b8963576dc16174 Reviewed-on: https://go-review.googlesource.com/55970 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Ian Lance Taylor authored
Backport of https://golang.org/cl/57390 to 1.9 release branch. Change-Id: Ieea5a048732db7ee5dc5cf13f06e11ca4f5313cc Reviewed-on: https://go-review.googlesource.com/57450Reviewed-by: Keith Randall <khr@golang.org>
-
- 18 Aug, 2017 5 commits
-
-
Austin Clements authored
Because profile labels are copied from the goroutine into the tag buffer by the signal handler, there's a carefully-crafted set of race detector annotations to create the necessary happens-before edges between setting a goroutine's profile label and retrieving it from the profile tag buffer. Given the constraints of the signal handler, we have to approximate the true synchronization behavior. Currently, that approximation is too weak. Ideally, runtime_setProfLabel would perform a store-release on &getg().labels and copying each label into the profile would perform a load-acquire on &getg().labels. This would create the necessary happens-before edges through each individual g.labels object. Since we can't do this in the signal handler, we instead synchronize on a "labelSync" global. The problem occurs with the following sequence: 1. Goroutine 1 calls setProfLabel, which does a store-release on labelSync. 2. Goroutine 2 calls setProfLabel, which does a store-release on labelSync. 3. Goroutine 3 reads the profile, which does a load-acquire on labelSync. The problem is that the load-acquire only synchronizes with the *most recent* store-release to labelSync, and the two store-releases don't synchronize with each other. So, once goroutine 3 touches the label set by goroutine 1, we report a race. The solution is to use racereleasemerge. This is like a read-modify-write, rather than just a store-release. Each RMW of labelSync in runtime_setProfLabel synchronizes with the previous RMW of labelSync, and this ultimately carries forward to the load-acquire, so it synchronizes with *all* setProfLabel operations, not just the most recent. Change-Id: Iab58329b156122002fff12cfe64fbeacb31c9613 Reviewed-on: https://go-review.googlesource.com/57190 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
The code was adding race.Errors to t.raceErrors before checking Failed, but Failed was using t.raceErrors+race.Errors. We don't want to change Failed, since that would affect tests themselves, so modify the harness to not unnecessarily change t.raceErrors. Updates #19851 Fixes #21338 Change-Id: I483f27c68c340928f1cbdef160abc0a5716efb5d Reviewed-on: https://go-review.googlesource.com/57151 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Fixes #21456 Change-Id: I7841d816e8c1c581e61db4f24124f99f5184fead Reviewed-on: https://go-review.googlesource.com/57170 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Cherry Zhang authored
Cherry-pick CL 56890. Normally 64-bit div/mod is turned into runtime calls on 32-bit arch, but the front end leaves power-of-two constant division and hopes the SSA backend turns into a shift or AND. The SSA rule is (Mod64u <t> n (Const64 [c])) && isPowerOfTwo(c) -> (And64 n (Const64 <t> [c-1])) But isPowerOfTwo returns true only for positive int64, which leaves out 1<<63 unhandled. Add a special case for 1<<63. Fixes #21517. Change-Id: Ic91f86fd5e035a8bb64b937c15cb1c38fec917d6 Reviewed-on: https://go-review.googlesource.com/57070 Run-TryBot: Cherry Zhang <cherryyz@google.com> Reviewed-by: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
pvoicu authored
Fixes #21518 Change-Id: Idd67e3f0410d0ce991b34dcc0c8f15e0d5c529c9 Reviewed-on: https://go-review.googlesource.com/56891 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Petrica Voicu <pvoicu@paypal.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 07 Aug, 2017 3 commits
-
-
Chris Broadfoot authored
Change-Id: If95cec0ec7e32cdb450818c4c55e2d03b847ab65 Reviewed-on: https://go-review.googlesource.com/53630Reviewed-by: Austin Clements <austin@google.com>
-
Chris Broadfoot authored
57912032 runtime: mapassign_* should use typedmemmove to update keys 38052559 all: remove some manual hyphenation f096b5b3 runtime: mark activeModules nosplit/nowritebarrier 3e3da546 math/bits: fix example for OnesCount64 9b1e7cf2 math/bits: add examples for OnesCount functions b01db023 misc/cgo/testsanitizers: also skip tsan11/tsan12 when using GCC a279b53a reflect: document how DeepEqual handles cycles 909f409a doc: mention handling of moved GOROOT in 1.9 release notes 58ad0176 doc: use better wording to explain type-aware completion 92dac21d doc: replace paid with commercial 9bb98e02 doc/1.9: add CL 43712, ReverseProxy of HTTP/2 trailers to the release notes. 78d74fc2 doc: clarify that Gogland is for paid IntelliJ platform IDEs 54950472 doc/1.9: fix broken html link in CL 53030/53210 890e0e86 doc: fix bad link in go1.9 release notes be596f04 doc/1.9: fix stray html in CL 53030 0173631d encoding/binary: add examples for varint functions ac0ccf3c doc/1.9: add CL 36696 for crypto/x509 to the release notes cc402c2c doc: hide blog content for golang.google.cn f396fa42 internal/poll: don't add non-sockets to runtime poller 664cd26c cmd/vet: don't exit with failure on type checking error a8730cd9 doc: hide video and share if being served from CN b63db76c testsanitizers: check that tsan program runs, skip tsan10 on gcc 193eda72 time: skip ZoneAbbr test in timezones with no abbreviation 6f08c935 cmd/go: show examples with empty output in go test -list f20944de cmd/compile: set/unset base register for better assembly print 623e2c46 runtime: map bitmap and spans during heap initialization 780249ee runtime: fall back to small mmaps if we fail to grow reservation 31b2c4cc .github: add .md extension to SUPPORT file ac29f30d plugin: mention that there are known bugs with plugins 45a4609c cmd/dist: skip moved GOROOT on Go's Windows builders when not sharding tests e157fac0 test: add README 835dfef9 runtime/pprof: prevent a deadlock that SIGPROF might create on mips{,le} df91b804 doc: list editor options by name, not plugin name 3d9475c0 doc: cleanup editor page b9661a14 doc: add Atom to editor guide ee392ac1 cmd/compile: consider exported flag in namedata Change-Id: I3a48493e8c05d97cb3b61635503ef0ccd646e5cb
-
Keith Randall authored
We need to make sure that when the key contains a pointer, we use a write barrier to update the key. Also mapdelete_* should use typedmemclr. Fixes #21297 Change-Id: I63dc90bec1cb909c2c6e08676c9ec853d736cdf8 Reviewed-on: https://go-review.googlesource.com/53414 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 06 Aug, 2017 1 commit
-
-
Josh Bleecher Snyder authored
Manual hyphenation doesn't work well when text gets reflown, for example by godoc. There are a few other manual hyphenations in the tree, but they are in local comments or comments for unexported functions. Change-Id: I17c9b1fee1def650da48903b3aae2fa1e1119a65 Reviewed-on: https://go-review.googlesource.com/53510Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 05 Aug, 2017 2 commits
-
-
Ian Lance Taylor authored
The activeModules function is called by the cgo pointer checking code, which is called by the write barrier (when GODEBUG=cgocheck=2), and as such must be nosplit/nowritebarrier. Fixes #21306 Change-Id: I57f2124f14de7f3872b2de9532abab15df95d45a Reviewed-on: https://go-review.googlesource.com/53352Reviewed-by: Austin Clements <austin@google.com>
-
Francesc Campoy Flores authored
Erroneously called OnesCount instead of OnesCount64 Change-Id: Ie877e43f213253e45d31f64931c4a15915849586 Reviewed-on: https://go-review.googlesource.com/53410Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
- 04 Aug, 2017 10 commits
-
-
Francesc Campoy authored
Change-Id: Ie673f9665825a40281c2584d478ba1260f725856 Reviewed-on: https://go-review.googlesource.com/53357 Run-TryBot: Chris Broadfoot <cbro@golang.org> Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Ian Lance Taylor authored
Updates #21196 Change-Id: I307cacc963448b90a23f633bec15498ba7bf1937 Reviewed-on: https://go-review.googlesource.com/53356 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
Fixes #20428 Change-Id: Ia450e615728efd4ccb6e42117b547cac162f13a3 Reviewed-on: https://go-review.googlesource.com/52931Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Ian Lance Taylor authored
Updates #20587 Change-Id: Ia131b9a4dc4986950d9ecbfcbd6b026ade234fc0 Reviewed-on: https://go-review.googlesource.com/53370Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Jaana Burcu Dogan authored
Some editors can filter the autocompletion suggestions based on whether the code will compile once autocompleted. Explain this feature with better wording. Change-Id: I29e4b0396878f18c79208915402c0a209a813b04 Reviewed-on: https://go-review.googlesource.com/53355Reviewed-by: Florin Patan <florinpatan@gmail.com> Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
Jaana Burcu Dogan authored
Change-Id: I3e6de4da0648f61e254c7597f316df3e5791321a Reviewed-on: https://go-review.googlesource.com/53354Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
Tristan Colgate authored
Add https://go-review.googlesource.com/c/43712, "net/http/httputil: ReverseProxy should pass on unannounced Trailers" to the relase notes. Fixes #21307 Change-Id: I52c126987a5d0abc4153c0e71b535529c46cd457 Reviewed-on: https://go-review.googlesource.com/53290Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Jaana Burcu Dogan authored
Fixes #21213. Change-Id: I7b8a84de92bbd1d3f78f8a9612f3af8cd092cb94 Reviewed-on: https://go-review.googlesource.com/53351Reviewed-by: Andrew Bonventre <andybons@golang.org>
-
Dmitry Savintsev authored
Change-Id: I7176becd10ad84cbfc3fb9427e190028626e5baf Reviewed-on: https://go-review.googlesource.com/53291Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Alberto Donizetti authored
Change-Id: I64ba37428f5cc560f0f20fe039feaecf5fcda93e Reviewed-on: https://go-review.googlesource.com/53330Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 03 Aug, 2017 6 commits
-
-
Dmitry Savintsev authored
Change-Id: Ib4102b1e2a8863712f725c4d1e37fdbe3dfe3c07 Reviewed-on: https://go-review.googlesource.com/53210Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Axel Wagner authored
Change-Id: I191f6e46b452fadde9f641140445d843b0c7d534 Reviewed-on: https://go-review.googlesource.com/48604 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Dmitry Savintsev authored
add https://go-review.googlesource.com/c/36696 "crypto/x509: ignore CN if SAN extension present" to the release notes. Fixes #21289 Change-Id: Ifa184d3816806a8da3c67b68476c923329acf13e Reviewed-on: https://go-review.googlesource.com/53030Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Andrew Bonventre authored
/blog redirects to blog.golang.org (currently blocked in China) unless there is a local checkout of golang.org/x/blog, which is not possible on App Engine Classic. Change-Id: Ia695e663c9bebcc6c3bedea324c630299eaad4dc Reviewed-on: https://go-review.googlesource.com/53051Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Ian Lance Taylor authored
Updates #21172 Change-Id: I0fec6e645328bbc85f3e47f4f71dd8d1d68c75ab Reviewed-on: https://go-review.googlesource.com/52551Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Ian Lance Taylor authored
The vet tool only reports a type checking error when invoked with -v. Don't let that by itself cause vet to exit with an error exit status. Updates #21188 Change-Id: I172c13d46c35d49e229e96e833683d8c82a77de7 Reviewed-on: https://go-review.googlesource.com/52851Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Rob Pike <r@golang.org>
-
- 02 Aug, 2017 5 commits
-
-
Andrew Bonventre authored
In the case where requests are coming from mainland China, hide links to locations that are blocked and functionality that is not permitted. Additionally, some very small cleanup of the JS. This change requires https://go-review.googlesource.com/c/52873 Change-Id: I7fc68748e629dbe5b966d6bf117e7f7b546966eb Reviewed-on: https://go-review.googlesource.com/52872Reviewed-by: Chris Broadfoot <cbro@golang.org>
-
Ian Lance Taylor authored
Check not only that a tsan program can be built, but also that it runs. This fails with some installations of GCC 7. Skip the tsan10 program when using GCC, as it reportedly hangs. This is a patch to help people build 1.9; we may be able to do a better fix for 1.10. Updates #21196 Change-Id: Icd1ffbd018dc65a97ff45cab1264b9b0c7fa0ab2 Reviewed-on: https://go-review.googlesource.com/52790 Run-TryBot: Ian Lance Taylor <iant@golang.org> Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Alberto Donizetti authored
The testZoneAbbr assumes that Parse(RFC1123, t1.Format(RFC1123)) will always succeed. This is not true because Format will fall back to the numeric zone (ex. -07) for timezones with no abbreviation, but Parse won't accept the numeric zone when the layout specifies 'MST' (an abbreviation). Skip the zone abbreviation test in timezones with no abbreviation. Fixes #21183 Change-Id: If04691cc23ae1075d8a953733024e17f5a7646de Reviewed-on: https://go-review.googlesource.com/52430 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Seiji Takahashi authored
Fixes #21205 Change-Id: I81b001eb42cbf2a5d5b7b82eb63548b22f501be5 Reviewed-on: https://go-review.googlesource.com/52110Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Cherry Zhang authored
For address of an auto or arg, on all non-x86 architectures the assembler backend encodes the actual SP offset in the instruction but leaves the offset in Prog unchanged. When the assembly is printed in compile -S, it shows an offset relative to pseudo FP/SP with an actual hardware SP base register (e.g. R13 on ARM). This is confusing. Unset the base register if it is indeed SP, so the assembly output is consistent. If the base register isn't SP, it should be an error and the error output contains the actual base register. For address loading instructions, the base register isn't set in the compiler on non-x86 architectures. Set it. Normally it is SP and will be unset in the change mentioned above for printing. If it is not, it will be an error and the error output contains the actual base register. No change in generated binary, only printed assembly. Passes "go build -a -toolexec 'toolstash -cmp' std cmd" on all architectures. Fixes #21064. Change-Id: Ifafe8d5f9b437efbe824b63b3cbc2f5f6cdc1fd5 Reviewed-on: https://go-review.googlesource.com/49432 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
- 31 Jul, 2017 2 commits
-
-
Austin Clements authored
We lazily map the bitmap and spans areas as the heap grows. However, right now we're very slightly too lazy. Specifically, the following can happen on 32-bit: 1. mallocinit fails to allocate any heap arena, so arena_used == arena_alloc == arena_end == bitmap. 2. There's less than 256MB between the end of the bitmap mapping and the next mapping. 3. On the first allocation, mheap.sysAlloc sees that there's not enough room in [arena_alloc, arena_end) because there's no room at all. It gets a 256MB mapping from somewhere *lower* in the address space than arena_used and sets arena_alloc and arena_end to this hole. 4. Since the new arena_alloc is lower than arena_used, mheap.sysAlloc doesn't bother to call mheap.setArenaUsed, so we still don't have a bitmap mapping or a spans array mapping. 5. mheap.grow, which called mheap.sysAlloc, attempts to fill in the spans array and crashes. Fix this by mapping the metadata regions for the initial arena_used when the heap is initialized, rather than trying to wait for an allocation. This maintains the intended invariant that the structures are always mapped for [arena_start, arena_used). Fixes #21044. Cherry-pick of CL 51714. Fixes #21234. Change-Id: I4422375a6e234b9f979d22135fc63ae3395946b0 Reviewed-on: https://go-review.googlesource.com/52191 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Austin Clements authored
Right now, if it's possible to grow the arena reservation but mheap.sysAlloc fails to get 256MB more of memory, it simply fails. However, on 32-bit we have a fallback path that uses much smaller mmaps that could take in this situation, but fail to. This commit fixes mheap.sysAlloc to use a common failure path in case it can't grow the reservation. On 32-bit, this path includes the fallback. Ideally, mheap.sysAlloc would attempt smaller reservation growths first, but taking the fallback path is a simple change for Go 1.9. Updates #21044 (fixes one of two issues). Cherry-pick of CL 51713. Updates #21234. Change-Id: I1e0035ffba986c3551479d5742809e43da5e7c73 Reviewed-on: https://go-review.googlesource.com/52190 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-