- 06 Jan, 2017 6 commits
-
-
Austin Clements authored
This adds high-level descriptions of the scheduler structures, the user and system stacks, error handling, and synchronization. Change-Id: I1eed97c6dd4a6e3d351279e967b11c6e64898356 Reviewed-on: https://go-review.googlesource.com/34290Reviewed-by: Rick Hudson <rlh@golang.org>
-
Austin Clements authored
The comment describing the overall GC algorithm at the top of mgc.go has gotten woefully out-of-date (and was possibly never correct/complete). Update it to reflect the current workings of the GC and the set of phases that we now divide it into. Change-Id: I02143c0ebefe9d4cd7753349dab8045f0973bf95 Reviewed-on: https://go-review.googlesource.com/34711Reviewed-by: Rick Hudson <rlh@golang.org>
-
Russ Cox authored
If one of the c.Get(ts.URL) results in an error, the child goroutine calls t.Errorf, but the test goroutine gets stuck waiting for <-gotReqCh, so the test hangs and the program is eventually killed (after 10 minutes!). Whatever might have been printed to t.Errorf is never seen. Adjust test so that the test fails cleanly in this case. Still trying to debug why c.Get might fail. It seems to have something to do with occasional connection failures on macOS Sierra. Change-Id: Ia797787bd51ea7cd6deb1192aec89c331c4f2c48 Reviewed-on: https://go-review.googlesource.com/34836 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Austin Clements authored
Currently, the check for legal pointers in stack copying uses _PageSize (8K) as the minimum legal pointer. By default, Linux won't let you map under 64K, but 1) it's less clear what other OSes allow or will allow in the future; 2) while mapping the first page is a terrible idea, mapping anywhere above that is arguably more justifiable; 3) the compiler only assumes the first physical page (4K) is never mapped. Make the runtime consistent with the compiler and more robust by changing the bad pointer check to use 4K as the minimum legal pointer. This came out of discussions on CLs 34663 and 34719. Change-Id: Idf721a788bd9699fb348f47bdd083cf8fa8bd3e5 Reviewed-on: https://go-review.googlesource.com/34890 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Russ Cox <rsc@golang.org>
-
Kevin Burke authored
Change-Id: I1c2e17b25ca91be37a18c47e70678c3753070fb8 Reviewed-on: https://go-review.googlesource.com/34827Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
-
Mikio Hara authored
We cannot assume that the platform running documentation service is the target platform. Change-Id: I241ed6f8778169faac9ef49e11dcd40f7422cccc Reviewed-on: https://go-review.googlesource.com/34750 Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 05 Jan, 2017 8 commits
-
-
Emmanuel Odeke authored
Fixes #18392. Avoid nil dereferencing n.Right when dealing with non-existent self referenced interface methods e.g. type A interface{ Fn(A.Fn) } Instead, infer the symbol name from n.Sym itself. Change-Id: I60d5f8988e7318693e5c8da031285d8d7347b771 Reviewed-on: https://go-review.googlesource.com/34817 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Brad Fitzpatrick authored
Change-Id: I184c86edaaaa71c26bc7360c8b995015f30fe137 Reviewed-on: https://go-review.googlesource.com/34819Reviewed-by: Russ Cox <rsc@golang.org>
-
Brad Fitzpatrick authored
Be consistent on whether the http proxy environment variables are respected regardless of whether -insecure is used. Updates #18519 Change-Id: Ib157eaacfd342dd3bfcd03e64da18c98c609cae3 Reviewed-on: https://go-review.googlesource.com/34818 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Lion Yang authored
This change uses runtime.support_bmi2 as an additional condition to examine the usability of AVX2 version algorithm, fixes the crash on the platfrom which supports AVX2 but not support BMI2. Fixes #18512 Change-Id: I408c0844ae2eb242dacf70cb9e8cec1b8f3bd941 Reviewed-on: https://go-review.googlesource.com/34851Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Lion Yang authored
The existing implementations on AMD64 only detects AVX2 usability, when they also contains BMI (bit-manipulation instructions). These instructions crash the running program as 'unknown instructions' on the architecture, e.g. i3-4000M, which supports AVX2 but not support BMI. This change added the detections for BMI1 and BMI2 to AMD64 runtime with two flags as the result, `support_bmi1` and `support_bmi2`, in runtime/runtime2.go. It also completed the condition to run AVX2 version in packages crypto/sha1 and crypto/sha256. Fixes #18512 Change-Id: I917bf0de365237740999de3e049d2e8f2a4385ad Reviewed-on: https://go-review.googlesource.com/34850Reviewed-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
When I wrote the lines bin/ pkg/ I was trying to match just the top-level bin and pkg directories, and I put the final slash in because 'git help gitignore' says: o If the pattern does not contain a slash /, Git treats it as a shell glob pattern and checks for a match against the pathname relative to the location of the .gitignore file (relative to the toplevel of the work tree if not from a .gitignore file). o Otherwise, Git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname. For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html". Putting a trailing slash was my way of opting in to the "rooted path" semantics without looking different from the surrounding rooted paths like "src/go/build/zcgo.go". But HA HA GIT FOOLED YOU! above those two bullets the docs say: o If the pattern ends with a slash, it is removed for the purpose of the following description, ... Change all the patterns to use a leading slash for "rooted" behavior. This bit me earlier today because I had a perfectly reasonable source code directory go/src/cmd/go/testdata/src/empty/pkg that was not added by 'git add empty'. Change-Id: I6f8685b3c5be22029c33de9ccd735487089a1c03 Reviewed-on: https://go-review.googlesource.com/34832Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Fixes #18500 Change-Id: I4dddd1b99aecf86b9431b0c14f452152dff9b95a Reviewed-on: https://go-review.googlesource.com/34816Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Kale Blankenship authored
Fixes #18494 Change-Id: I8a190acae6d5f1d20d4e4e4547d84e10e8a7fe68 Reviewed-on: https://go-review.googlesource.com/34793Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
- 04 Jan, 2017 6 commits
-
-
Brad Fitzpatrick authored
Fixes #18506 Change-Id: I6b0b107296311178938609e878e1ef47a30a463f Reviewed-on: https://go-review.googlesource.com/34814Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Fixes #18447 Change-Id: I5d60c3632a5ce625d3bac9d85533ce689e301707 Reviewed-on: https://go-review.googlesource.com/34813Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
No test because in practice these errors never occur. Change-Id: I11c77893ae931fc621c98920cba656790d18ed93 Reviewed-on: https://go-review.googlesource.com/34811 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
Fixes #18486. Change-Id: I359dc4169e04b4123bd41679ea939b06fa754ac2 Reviewed-on: https://go-review.googlesource.com/34830 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
For #18496. Change-Id: I50ced7c9f0fe5d9c627eef1f59a7f73be742e04c Reviewed-on: https://go-review.googlesource.com/34831 Run-TryBot: Russ Cox <rsc@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Russ Cox authored
Otherwise 64k pages don't map correctly. Fixes #18408. Change-Id: I85f56682531566d1ff5c655640cd58509514aee8 Reviewed-on: https://go-review.googlesource.com/34629 Run-TryBot: Russ Cox <rsc@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Austin Clements <austin@google.com>
-
- 03 Jan, 2017 5 commits
-
-
Michael Marineau authored
Android on ChromeOS uses a restrictive seccomp filter that blocks sched_getaffinity, leading this code to index a slice by -errno. Change-Id: Iec09a4f79dfbc17884e24f39bcfdad305de75b37 Reviewed-on: https://go-review.googlesource.com/34794Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Rob Pike authored
Given var t struct{ lock sync.Mutex } var fntab []func(t) f(a(), b(&t), c(), fntab[0](t)) Before: function call copies lock value: struct{lock sync.Mutex} contains sync.Mutex After: call of fntab[0] copies lock value: struct{lock sync.Mutex} contains sync.Mutex This will make diagnosis easier when there are multiple function calls per line. Change-Id: I9881713c5671b847b84a0df0115f57e7cba17d72 Reviewed-on: https://go-review.googlesource.com/34730Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Munday authored
Change-Id: Ia97d770cd942a49a34c733643ced7490fc31c736 Reviewed-on: https://go-review.googlesource.com/34795 Run-TryBot: Michael Munday <munday@ca.ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Vladimir Stefanovic authored
Change-Id: I9e37aece5ace374e89bee70962a19f76ae3266bc Reviewed-on: https://go-review.googlesource.com/34646 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Vladimir Stefanovic authored
Fixes misc/cgo/testsigfwd, enabled for mips{,le} with the next commit (https://golang.org/cl/34646). Change-Id: I2bec894b0492fd4d84dd73a4faa19eafca760107 Reviewed-on: https://go-review.googlesource.com/34645Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 02 Jan, 2017 3 commits
-
-
Kevin Burke authored
Clean up the phrasing a little bit, make the comment fit in 80 characters, and fix the spelling of "guard." Change-Id: I688a3e760b8d67ea83830635f64dff04dd9a5911 Reviewed-on: https://go-review.googlesource.com/34792Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Daniel Theophanes authored
Previously Tx.done was being set in close, but in a Tx rollback and Commit are the real closing methods, and Tx.close is just a helper common to both. Prior to this change a multiple rollback statements could be called, one would enter close and begin closing it while the other was still in rollback breaking it. Fix that by setting done in rollback and Commit, not in Tx.close. Fixes #18429 Change-Id: Ie274f60c2aa6a4a5aa38e55109c05ea9d4fe0223 Reviewed-on: https://go-review.googlesource.com/34716Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ian Lance Taylor authored
It doesn't work if the package name includes a '.' or a non-ASCII character (or '%', '"', or a control character). See #16710 and CL 31970. Update #18246. Change-Id: I1487f462a3dc7b0016fce3aa1ea6239b226e6e39 Reviewed-on: https://go-review.googlesource.com/34791Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 31 Dec, 2016 1 commit
-
-
Brad Fitzpatrick authored
Updates http2 to x/net/http2 git rev 8fd7f25 for: http2: clear WriteTimeout in Server https://golang.org/cl/34724 And un-skip the new test. (The new test is a slow test, anyway, so won't affect builders or all.bash, but I verified it now passes.) Updates #18437 Change-Id: Ia91ae702edfd23747a9d6b61da284a5a957bfed3 Reviewed-on: https://go-review.googlesource.com/34729 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Reviewed-by: Kale B <kale@lemnisys.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 30 Dec, 2016 1 commit
-
-
Kale Blankenship authored
Current handling of WriteTimeout for http2 does not extend the timeout on new streams. Disable the WriteTimeout in http2 for 1.8 release. Updates #18437 Change-Id: I20480432ab176f115464434645defb56ebeb6ece Reviewed-on: https://go-review.googlesource.com/34723Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 29 Dec, 2016 1 commit
-
-
Mike Wiacek authored
Avoid potential race conditions by clarifying to implemntors of the ReverseProxy interface, the lifetime of provided http.Request structs. Fixes #18456 Change-Id: I46aa60322226ecc3a0d30fa1ef108e504171957a Reviewed-on: https://go-review.googlesource.com/34720Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 28 Dec, 2016 1 commit
-
-
Dmitri Shuralyov authored
Remove unneeded second colon. Remove unneeded space at the beginning of a line (before a tab). Regenerate alldocs.go with mkalldocs.sh. Updates https://golang.org/cl/28783. Updates https://golang.org/cl/29650. Fixes #18448. Change-Id: I1830136a2b760827d4cec565744807a0fd147584 Reviewed-on: https://go-review.googlesource.com/34718Reviewed-by: Rob Pike <r@golang.org>
-
- 24 Dec, 2016 2 commits
-
-
Emmanuel Odeke authored
Fixes #6772. Lock-in test for invalid range loop: repeated variables in range declaration. Change-Id: I37dd8b1cd7279abe7810deaf8a5d485c5c3b73ca Reviewed-on: https://go-review.googlesource.com/34714Reviewed-by: Keith Randall <khr@golang.org>
-
Aliaksandr Valialkin authored
This is a follow-up for https://golang.org/cl/24340. Updates #14664. Fixes #18374. Change-Id: I2831556a9014d30ec70d5f91943d18c33db5b390 Reviewed-on: https://go-review.googlesource.com/34630Reviewed-by: Rob Pike <r@golang.org> Run-TryBot: Rob Pike <r@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 23 Dec, 2016 3 commits
-
-
Austin Clements authored
Change-Id: Iae8cdcd84e9b5f5d7c698abc6da3fc2af0ef839a Reviewed-on: https://go-review.googlesource.com/34710Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
-
Emmanuel Odeke authored
Fixes #5790. Fixes #18421. * Lock in _ = x1/x2 divide by zero runtime panics since it is actually evaluated and not discarded as in previous versions before Go1.8. * Update a test that was skipping over zerodivide tests that expected runtime panics, enabling us to check for the expected panics. Change-Id: I0af0a6ecc19345fa9763ab2e35b275fb2d9d0194 Reviewed-on: https://go-review.googlesource.com/34712Reviewed-by: Keith Randall <khr@golang.org>
-
Kevin Burke authored
Change-Id: I24c6d312f7d0ce52e1958e8031fc8249af0dfca9 Reviewed-on: https://go-review.googlesource.com/34669Reviewed-by: Minux Ma <minux@golang.org>
-
- 22 Dec, 2016 3 commits
-
-
Raul Silvera authored
Previous changes started using the full filename for object files on graph nodes, instead of just the file basename. The basename was still being used when selecting mappings to disassemble for weblist and disasm commands, causing a mismatch. This fixes #18385. It was already fixed on the upstream pprof. Change-Id: I1664503634f2c8cd31743561301631f12c4949c9 Reviewed-on: https://go-review.googlesource.com/34665Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
In Go 1.8, we'd removed the Transport's Request.Body one-byte-Read-sniffing to disambiguate between non-nil Request.Body with a ContentLength of 0 or -1. Previously, we tried to see whether a ContentLength of 0 meant actually zero, or just an unset by reading a single byte of the Request.Body and then stitching any read byte back together with the original Request.Body. That historically has caused many problems due to either data races, blocking forever (#17480), or losing bytes (#17071). Thus, we removed it in both HTTP/1 and HTTP/2 in Go 1.8. Unfortunately, during the Go 1.8 beta, we've found that a few people have gotten bitten by the behavior change on requests with methods typically not containing request bodies (e.g. GET, HEAD, DELETE). The most popular example is the aws-go SDK, which always set http.Request.Body to a non-nil value, even on such request methods. That was causing Go 1.8 to send such requests with Transfer-Encoding chunked bodies, with zero bytes, confusing popular servers (including but limited to AWS). This CL partially reverts the no-byte-sniffing behavior and restores it only for GET/HEAD/DELETE/etc requests, and only when there's no Transfer-Encoding set, and the Content-Length is 0 or -1. Updates #18257 (aws-go) bug And also private bug reports about non-AWS issues. Updates #18407 also, but haven't yet audited things enough to declare it fixed. Change-Id: Ie5284d3e067c181839b31faf637eee56e5738a6a Reviewed-on: https://go-review.googlesource.com/34668 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Elias Naur authored
CL 33652 removed the fake auxv for Android, and replaced it with a /proc/self/auxv fallback. When /proc/self/auxv is unreadable, however, hardware capabilities detection won't work and the runtime will mistakenly think that floating point hardware is unavailable. Fix this by always assuming floating point hardware on Android. Manually tested on a Nexus 5 running Android 6.0.1. I suspect the android/arm builder has a readable /proc/self/auxv and therefore does not trigger the failure mode. Change-Id: I95c3873803f9e17333c6cb8b9ff2016723104085 Reviewed-on: https://go-review.googlesource.com/34641Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-