- 02 Jun, 2017 7 commits
-
-
Filippo Valsorda authored
Change-Id: I98d265bfa4f5944360d0258d2cb6bbc78010c708 Reviewed-on: https://go-review.googlesource.com/44731Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Robert Griesemer authored
1) Split atLineBegin into its two components: writing of // line directives and writing of indentation (no functionality changes). 2) Don't call writeLineDirective at the beginning of a line if we're writing white space - it's not necessary. This is the bug fix. 3) Move testing of the SourcePos mode out of writeLineDirective and into the (single) caller. Clearer and more efficient. (Instead of these 3 changes one could also have simply called the original atLineBegin with position p.out rather than p.pos. This would have caused atLineBegin to not write a line directive. Factoring the code seemed like a cleaner and more direct approach.) Fixes #5945. Change-Id: Ia8710806b6d3d4e5044116b142c036a4ab5a1764 Reviewed-on: https://go-review.googlesource.com/44651Reviewed-by: Alan Donovan <adonovan@google.com>
-
Alberto Donizetti authored
Fixes #19383 Change-Id: Ic84517053ced7794006f6fc65e6f249e97d6cf35 Reviewed-on: https://go-review.googlesource.com/44691Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Dhananjay Nakrani authored
Defaulting total to 1 for each function, adds up to the counting error. testing/cover.go already does this once. Fixes #20515 Change-Id: I0e3f524c2ccb628eb9a8f0a1f81c22365c24cf9a Reviewed-on: https://go-review.googlesource.com/44337 Run-TryBot: Dhananjay Nakrani <dhananjayn@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Lazar authored
Arguments to inlined calls are hidden from setPos as follows: args := as.Rlist as.Rlist.Set(nil) // setPos... as.Rlist.Set(args.Slice()) Previously, this code had no effect since the value of as was overwritten by the assignment in the retvars loop. Fixes #19799. Change-Id: Iaf97259f82fdba8b236136337cc42b2774c7fef5 Reviewed-on: https://go-review.googlesource.com/44351 Run-TryBot: David Lazar <lazard@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Ian Lance Taylor authored
The test no longer passes as of https://golang.org/cl/43777, which intentionally disables the feature that this test was checking for. Nobody noticed since the test is not run in -short mode. Updates #20435. Change-Id: I64f37fd94c01f22ead88470b6d9bfe8a151ddb1c Reviewed-on: https://go-review.googlesource.com/44650Reviewed-by: Mikio Hara <mikioh.mikioh@gmail.com>
-
Joe Tsai authored
Fixes #20551 Change-Id: Ia47cae14a26fe5f278ad7209218d083cc50a3ff8 Reviewed-on: https://go-review.googlesource.com/44572Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 01 Jun, 2017 2 commits
-
-
Ian Lance Taylor authored
Updates #20540 Change-Id: I864008fadd77b0aeb10fe7e7f1ec696516a5add5 Reviewed-on: https://go-review.googlesource.com/44492Reviewed-by: Robert Griesemer <gri@golang.org>
-
Ilya Tocar authored
Currently we inline array comparisons for arrays with at most 4 elements. Compare arrays with small size, but more than 4 elements (e. g. [16]byte) with larger compares. This provides very slightly smaller binaries, and results in faster code. ArrayEqual-6 7.41ns ± 0% 3.17ns ± 0% -57.15% (p=0.000 n=10+10) For go tool: global text (code) = -559 bytes (-0.014566%) This also helps mapaccess1_faststr, and maps in general: MapDelete/Str/1-6 195ns ± 1% 186ns ± 2% -4.47% (p=0.000 n=10+10) MapDelete/Str/2-6 211ns ± 1% 177ns ± 1% -16.01% (p=0.000 n=10+10) MapDelete/Str/4-6 225ns ± 1% 183ns ± 1% -18.49% (p=0.000 n=8+10) MapStringKeysEight_16-6 31.3ns ± 0% 28.6ns ± 0% -8.63% (p=0.000 n=6+9) MapStringKeysEight_32-6 29.2ns ± 0% 27.6ns ± 0% -5.45% (p=0.000 n=10+10) MapStringKeysEight_64-6 29.1ns ± 1% 27.5ns ± 0% -5.46% (p=0.000 n=10+10) MapStringKeysEight_1M-6 29.1ns ± 1% 27.6ns ± 0% -5.49% (p=0.000 n=10+10) Change-Id: I9ec98e41b233031e0e96c4e13d86a324f628ed4a Reviewed-on: https://go-review.googlesource.com/40771 Run-TryBot: Ilya Tocar <ilya.tocar@intel.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
- 31 May, 2017 6 commits
-
-
Chris Broadfoot authored
This includes the patch for systems that build PIE executables by defaul Updates #20276. Change-Id: Iecf8dfcf11bc18d397b8075559c37e3610f825cb Reviewed-on: https://go-review.googlesource.com/44470Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Fixes #20540 Change-Id: I440eee02d37b6921613f9ae77875d91eeec48b1e Reviewed-on: https://go-review.googlesource.com/44490Reviewed-by: Robert Griesemer <gri@golang.org>
-
Cherry Zhang authored
Apply the fix in CL 44355 to MIPS. ARM64 has these rules but commented out for performance reason. Fix the commented rules, in case they are enabled in the future. Enhance the test so it triggers the failure on ARM and MIPS without the fix. Updates #20530. Change-Id: I82d77448e3939a545fe519d0a29a164f8fa5417c Reviewed-on: https://go-review.googlesource.com/44430 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Alberto Donizetti authored
Fixes #20490 Change-Id: I9cfa604f9ff94df779cb9b4cbbd706258fc473ac Reviewed-on: https://go-review.googlesource.com/44150 Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Julio Montes authored
The current implementation of forkAndExecInChild for Linux does not allow spawned processes steal the controlling terminal from a different session group. This patch passes 1 as the argument to TIOCSCTTY in order to allow spawned processes steal controlling terminals. Fixes #20454 Change-Id: I171b8981509d648b07f89bddc1e9d45cb70e00e6 Reviewed-on: https://go-review.googlesource.com/44343Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Benny Siegert authored
Block signals explicitly during lwp_create since blocking via the context does not work. This was originally added in pkgsrc as http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/lang/go/patches/patch-src_runtime_os__netbsd.go?rev=1.1 Fixes #19295. Change-Id: I431e70c047cff446e9cfc20d356f45df98c63487 Reviewed-on: https://go-review.googlesource.com/41350Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 30 May, 2017 5 commits
-
-
Aliaksandr Valialkin authored
This should help narrowing down the possible cause of #20514. Updates #20514. Change-Id: Ie997400c9749aace7783bd585b23dbb4cefc181d Reviewed-on: https://go-review.googlesource.com/44375Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com> Reviewed-by: Rob Pike <r@golang.org> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
Fixes #20529 Change-Id: I3cb0c037b1737fbc3fa3b1b61ed8a42cfaf8e10d Reviewed-on: https://go-review.googlesource.com/44344 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
David Chase authored
Replacing byteload-of-bytestore-of-x with x is incorrect when x contains a larger-than-byte value (and so on for 16 and 32-bit load/store pairs). Replace "x" with the appropriate zero/sign extension of x, which if unnecessary will be repaired by other rules. Made logic for arm match x86 and amd64; yields minor extra optimization, plus I am (much) more confident it's correct, despite inability to reproduce bug on arm. Ppc64 lacks this optimization, hence lacks this problem. See related https://golang.org/cl/37154/ Fixes #20530. Change-Id: I6af9cac2ad43bee99cafdcb04725ce7e55a43323 Reviewed-on: https://go-review.googlesource.com/44355 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
-
Marcel van Lohuizen authored
Fixes #20394 Change-Id: Iabb2a53fd1ddb783e7fb5b60ced8482c2e2569c4 Reviewed-on: https://go-review.googlesource.com/44377 Run-TryBot: Marcel van Lohuizen <mpvl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Dmitry Savintsev authored
Replaced ../gc/reflect.c with cmd/compile/internal/gc/reflect.go. Fixes #20525 Change-Id: Ibafd36ea446ace5c677df27873a4bbf716a0a9bc Reviewed-on: https://go-review.googlesource.com/44376Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 29 May, 2017 3 commits
-
-
Mikio Hara authored
Updates golang_org/x/net/lif to rev fcc8ed8 for: - lif: rename internal types (http://golang.org/cl/43070) Change-Id: I0aad9a8b504d673b29d3c26b3717ffa8512e0cdf Reviewed-on: https://go-review.googlesource.com/44392Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Wei Xiao authored
key32 is called between entersyscallblock and exitsyscall stack split may occur if disable inlining and the G is preempted Fix the problem by describing key32 as nosplit function Fixes #20510 Change-Id: I1f0787995936f34ef0052cf79fde036f1b338865 Reviewed-on: https://go-review.googlesource.com/44390Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Dmitry Savintsev authored
cmd/compile/internal/ld/decodesym.go is now cmd/link/internal/ld/decodesym.go Change-Id: I16ec5c89aa3507e70676c2b50d70f1fde533a085 Reviewed-on: https://go-review.googlesource.com/44373Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 28 May, 2017 1 commit
-
-
Fatih Arslan authored
Vet returns with a nonzero exit for all possible messages in the buildtag check. However for this file: //+buildlinux package main vet returns a zero exit status: $ go vet main.go demo.go:1: possible malformed +build comment $ echo $? 0 This CL sets the exit status to non zero for the remaining messages in the buildtag check. Change-Id: Ia2c35ebc3ec5ac311d2a0295b5b9fdd997a85726 Reviewed-on: https://go-review.googlesource.com/44371Reviewed-by: Rob Pike <r@golang.org>
-
- 26 May, 2017 7 commits
-
-
Heschi Kreinick authored
In preparation for CL 41770, upgrade .debug_info to DWARF4, and emit DW_AT_frame_base on subprograms. This should make no semantic difference. Also fix a long-standing bug/inconsistency in puttattr: it didn't add the addend to ref_addrs. Previously this didn't matter because it was only used for types, but now it's used for section offsets into symbols that have multiple entries. RELNOTE=yes Change-Id: Ib10654ac92edfa29c5167c44133648151d70cf76 Reviewed-on: https://go-review.googlesource.com/44210Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
-
Filip Gruszczyński authored
Instead of allocating a new reflect.Value object on every loop we zero it. DecodeComplex128Slice-8 13.1µs ± 7% 13.2µs ± 8% ~ (p=0.347 n=18+19) DecodeFloat64Slice-8 8.13µs ± 5% 8.00µs ± 3% ~ (p=0.168 n=20+19) DecodeInt32Slice-8 8.27µs ± 5% 8.08µs ± 5% -2.27% (p=0.001 n=19+18) DecodeStringSlice-8 17.9µs ±12% 17.8µs ±11% ~ (p=0.989 n=20+19) DecodeInterfaceSlice-8 163µs ±10% 159µs ± 4% ~ (p=0.057 n=19+19) DecodeMap-8 220µs ± 2% 183µs ± 1% -17.07% (p=0.000 n=19+18) Updates #19525 Change-Id: I27f8edd4761787f6b9928d34cefa08a34a6e25b2 Reviewed-on: https://go-review.googlesource.com/39203Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rob Pike <r@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Tom Bergan authored
This updates the bundled copy of x/net/http2 to x/net git rev 3470a06c1357df53 for: http2: fix typo in comment https://golang.org/cl/44271 http2: fix nil dereference after Read completes with an error https://golang.org/cl/44330 Fixes #20501 Change-Id: Ie6a5fb092f77044f504f146721dae86299e04011 Reviewed-on: https://go-review.googlesource.com/44331 Run-TryBot: Tom Bergan <tombergan@google.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Yasuhiro Matsumoto authored
See: https://pkware.cachefly.net/webdocs/APPNOTE/APPNOTE-6.3.0.TXT Document says: > If general purpose bit 11 is set, the filename and comment must support The > Unicode Standard, Version 4.1.0 or greater using the character encoding form > defined by the UTF-8 storage specification. Since Go encode the filename to UTF-8, general purpose bit 11 should be set. Change-Id: Ica4af02b4dc695e9a5c015ae360e70171efb6ee3 Reviewed-on: https://go-review.googlesource.com/39570Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com> Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Bryan C. Mills authored
This avoids false-positive TSAN reports when using the C sigaction function to read handlers registered by the Go runtime. (Unfortunately, I can't seem to coax the runtime into reproducing the failure in a small unit-test.) Change-Id: I744279a163708e24b1fbe296ca691935c394b5f3 Reviewed-on: https://go-review.googlesource.com/44270 Run-TryBot: Bryan Mills <bcmills@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
-
Austin Clements authored
Currently debug/dwarf assumes all paths in line tables will be UNIX-style paths, which obviously isn't the case for binaries built on Windows. However, we can't simply switch from the path package to the filepath package because we don't know that we're running on the same host type that built the binary and we want this to work even if we're not. This is essentially the approach taken by GDB, which treats paths in accordance with the system GDB itself is compiled for. In fact, we can't even guess the compilation system from the type of the binary because it may have been cross-compiled. We fix this by heuristically determining whether paths are UNIX-style or DOS-style by looking for a drive letter or UNC path. If we see a DOS-style path, we use appropriate logic for determining whether the path is absolute and for joining two paths. This is helped by the fact that we should basically always be starting with an absolute path. However, it could mistake a relative UNIX-style path that begins with a directory like "C:" for an absolute DOS-style path. There doesn't seem to be any way around this. Fixes #19784. Change-Id: Ie13b546d2f1dcd8b02e668583a627b571b281588 Reviewed-on: https://go-review.googlesource.com/44017 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
-
Ian Lance Taylor authored
Change-Id: I3b3ae4ecad0894781a3019326c7262cb9790ad4d Reviewed-on: https://go-review.googlesource.com/44250Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
-
- 25 May, 2017 5 commits
-
-
Ben Shi authored
It is expected to test assembly code for ARMv5, ARMv6 and ARMv7 in cmd/asm/internal/asm/endtoend_test.go. But actually the loop in "func TestARMEndToEnd(t *testing.T)" runs three times all for ARMv5. This patch fixes that bug and adds a new armv6.s which is only tested with GOARM=6. fixes #20465 Change-Id: I5dbf00809a47ace2c195335e2c9bdd768479aada Reviewed-on: https://go-review.googlesource.com/43930Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ben Shi authored
"ADDF F0, R1, F2" is silently accepted by the arm assembler and assembled to the same binary code of "ADDF F0, F1, F2". So does "CMPF F0, R1". "ABSF F0, F1, F2" is also silently accepted and assembled to a different instruction. This patch reports those illegal forms and adds test cases. fix #20464 Change-Id: I88b80dc29de24c6266ac7bf7bce1578c5adbc68c Reviewed-on: https://go-review.googlesource.com/43931 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Austin Clements authored
Currently, the heap arena allocator allocates monotonically increasing addresses. This is fine on 64-bit where we stake out a giant block of the address space for ourselves and start at the beginning of it, but on 32-bit the arena starts at address 0 but we start allocating from wherever the OS feels like giving us memory. We can generally hint the OS to start us at a low address, but this doesn't always work. As a result, on 32-bit, if the OS gives us an arena block that's lower than the current block we're allocating from, we simply say "thanks but no thanks", return the whole (256MB!) block of memory, and then take a fallback path that mmaps just the amount of memory we need (which may be as little as 8K). We have to do this because mheap_.arena_used is *both* the highest used address in the arena and the next address we allocate from. Fix all of this by separating the second role of arena_used out into a new field called arena_alloc. This lets us accept any arena block the OS gives us. This also slightly changes the invariants around arena_end. Previously, we ensured arena_used <= arena_end, but this was related to arena_used's second role, so the new invariant is arena_alloc <= arena_end. As a result, we no longer necessarily update arena_end when we're updating arena_used. Fixes #20259 properly. (Unlike the original fix, this one should not be cherry-picked to Go 1.8.) This is reasonably low risk. I verified several key properties of the 32-bit code path with both 4K and 64K physical pages using a symbolic model and the change does not materially affect 64-bit (arena_used == arena_alloc on 64-bit). The only oddity is that we no longer call setArenaUsed with racemap == false to indicate that we're creating a hole in the address space, but this only happened in a 32-bit-only code path, and the race detector require 64-bit, so this never mattered anyway. Change-Id: Ib1334007933e615166bac4159bf357ae06ec6a25 Reviewed-on: https://go-review.googlesource.com/44010 Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Rick Hudson <rlh@golang.org>
-
Emmanuel Odeke authored
CL 43779/commit 6a6c792e broke the builds at tip, and that CL doesn't account for cases where Redirect is directly invoked with a full URL that itself has a query string. Updates #17841 Change-Id: Idb0486bae8625e1f9e033ca4cfcd87de95bc835c Reviewed-on: https://go-review.googlesource.com/44100Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
David du Colombier authored
Update golang.org/x/net/nettest to revision 7dcfb8076726a3fdd9353b6b8a1f1b6be6811bd6. Change-Id: Ib6505423910d34142d7b1bcb6792a5017df4da47 Reviewed-on: https://go-review.googlesource.com/44131Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: David du Colombier <0intro@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 24 May, 2017 4 commits
-
-
Ian Lance Taylor authored
We weren't setting r0 to 0, as required by our generated code. Before this patch, the misc/cgo/testcarchive tests failed on ppc64le. After this patch, they work, so enable them. Change-Id: I53b16746961da9f7c34f59030a1e40953c9c1e05 Reviewed-on: https://go-review.googlesource.com/44093 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
Add a missing newline. Don't panic on an unexpected error type. Change-Id: I82a4b12c498fbfdf4972737329631c0c02540005 Reviewed-on: https://go-review.googlesource.com/44092 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Joe Tsai authored
The logic performs a series of shifts, which are useless given that they are followed by an assignment that overrides the value of the previous computation. I suspect (but cannot prove) that this is leftover logic from an original approach that attempted to store both the Huffman code and the length within the same variable instead of using two different variables as it currently does now. Fixes #17949 Change-Id: Ibf6c807c6cef3b28bfdaf2b68d9bc13503ac21b2 Reviewed-on: https://go-review.googlesource.com/44091Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Keith Randall authored
Test that we really do move spills down to the dominator of all the uses. Also add a test where go1.8 would have moved the spill out of the loop into two exit points, but go1.9 doesn't move the spill. This is a case where the 1.9 spill moving code does not subsume the 1.8 spill moving code. Maybe we resurrect moving-spills-out-of-loops CL to fix this one. (I suspect it wouldn't be worth the effort, but would be happy to hear evidence otherwise.) Update #20472 Change-Id: I7dbf8d65e7f4d675d14e5ecf502887cebda35d2a Reviewed-on: https://go-review.googlesource.com/44038 Run-TryBot: Keith Randall <khr@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-