- 16 Apr, 2015 22 commits
-
-
Alexandre Cesaro authored
It is not needed right now, but it will allow more flexibility in the future. Fixes #10472 Change-Id: I2eaea70abeca5ed10f89b0b2dfdabdac376a0a41 Reviewed-on: https://go-review.googlesource.com/8964Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Hudson-Doyle authored
The ptrto field of the type data cannot be relied on when dynamic linking: a type T may be defined in a module that makes no use of pointers to that type, but another module can contain a package that imports the first one and does use *T pointers. The second module will end up defining type data for *T and a type.*T symbol pointing at it. It's important that calling .PtrTo() on the refect.Type for T returns this type data and not some synthesized object, so we need reflect to be able to find it! Fortunately, the reflect package already has a mechanism for doing this sort of thing: ChanOf/MapOf/etc look for pre-existing type data by name. So this change just extends PtrTo() to consult this too, and changes the compiler to include pointer types in the data consulted when compiling for dynamic linking. Change-Id: I3773c066fd0679a62e9fc52a84bf64f1d67662b7 Reviewed-on: https://go-review.googlesource.com/8232Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org>
-
Josh Bleecher Snyder authored
This is a follow-up to CL 8910. This is the version that I have tested and which works when appID and teamID are not the same (which they appear to be for the builder). I am unsure how I submitted it with the wrong code. Change-Id: I186e34e91953d082b507390c1cd2042e5419c4c9 Reviewed-on: https://go-review.googlesource.com/8943Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Josh Bleecher Snyder authored
7g and 9g disagree with componentgen about what type len and cap have. This results in an etype mismatch, which inhibits registerization. Fixing this results in 7406 more registerizations while building the stdlib. There are still 1512 missed opportunities. This should improve the performance benefit to 7g of enabling componentgen (CL 8636). This CL reduces the size of godoc by 203k (-1.177%). This was discovered by using the diagnostics added in CL 8732 and running: GOARCH=arm64 GOOS=linux go build -gcflags="-d registerization" std See CL 91850043 for similar earlier fixes for 6g and 8g. Change-Id: I57f478228a000ad7529d4136bad94a51343c4daa Reviewed-on: https://go-review.googlesource.com/8733Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Keith Randall <khr@golang.org>
-
Aram Hăvărneanu authored
We can use CBNZ instruction and make it one instruction shorter. Saves 66kB in godoc. Change-Id: Ie71fe7cf31e7f73644ee926f4f9624c009c3eb1a Reviewed-on: https://go-review.googlesource.com/8634Reviewed-by: Minux Ma <minux@golang.org>
-
Aram Hăvărneanu authored
Optimize the sequence: MOV $imm, Rt ADD Rt, Rs, Rd into: ADD $imm, Rs, Rd Saves 66k in godoc. Change-Id: I27b4aaa0ec80a59472fe2e5816efdf3db9c901ee Reviewed-on: https://go-review.googlesource.com/8632Reviewed-by: Minux Ma <minux@golang.org>
-
Shenghou Ma authored
Change-Id: I3b3f80791a1db4c2b7318f81a115972cd2237f03 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/8782Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Shenghou Ma authored
Because there is no libgcc. Change-Id: I3b3f80791a1db4c2b7318f81a115972cd2237f07 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/8786Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
David Crawshaw authored
Change-Id: I402629b154ae36c879a8d5088cb0f71b075f31dc Reviewed-on: https://go-review.googlesource.com/8958Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Shenghou Ma authored
Fixes #10116. Change-Id: I3b3f80791a1db4c2b7318f81a115972cd2237f05 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/8784Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Shenghou Ma authored
Change-Id: I3b3f80791a1db4c2b7318f81a115972cd2237f04 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/8783Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
David Crawshaw authored
We no longer need the EXC_BAD_ACCESS watcher as runtime/cgo contains a mach exception handler that catches it. And now lldb only intermittently reports process connection and exiting, so instead just look for the PASS from Go. Change-Id: I403266558f5a900e0b87ec1019d9baec88148d23 Reviewed-on: https://go-review.googlesource.com/8957Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
-
Matthew Dempsky authored
If the requested coding bit sizes don't result in a full binary tree, then reject the input as invalid. Exception: We still need to allow degenerate Huffman codings with a single 1-bit code to be compatible with zlib and files compressed with Go's compress/flate package. Update #10426. Change-Id: I171b98d12e65b4deb9f4031cd802407ebb5e266c Reviewed-on: https://go-review.googlesource.com/8922Reviewed-by: Nigel Tao <nigeltao@golang.org>
-
Dave Day authored
Change-Id: I6089cebf7de73ce9c4e53ad3e8ef2673d970bda2 Reviewed-on: https://go-review.googlesource.com/8908Reviewed-by: Rob Pike <r@golang.org>
-
Shenghou Ma authored
Change-Id: I3b3f80791a1db4c2b7318f81a115972cd2237f02 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/8781Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Shenghou Ma authored
ld64 cannot handle BR26 reloc with non-zero addend. It incorrectly thinks that non-zero addend for BR26 means the code is not PIC, but those BR26 relocs should be fully resolved at link time. Change-Id: I3b3f80791a1db4c2b7318f81a115972cd2237f01 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/8780Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Shenghou Ma authored
To support "SVC $0x80", which is needed for darwin/arm64. Change-Id: I3b3f80791a1db4c2b7318f81a115972cd2237f00 Signed-off-by: Shenghou Ma <minux@golang.org> Reviewed-on: https://go-review.googlesource.com/8769Reviewed-by: David Crawshaw <crawshaw@golang.org>
-
Matthew Dempsky authored
This code's test coverage is ad hoc at best, and it's easy to make changes that accidentally regress invariants. This CL adds a "sanity" constant that can be changed to "true" during development to add extra runtime checking that the Huffman decoder tables are sane. Change-Id: I0d0ca53ad7c9566be18046d9b255e1a30059f28b Reviewed-on: https://go-review.googlesource.com/8974Reviewed-by: Nigel Tao <nigeltao@golang.org>
-
Matthew Dempsky authored
When decoding Huffman codes, if an invalid bit sequence is discovered, reject the input instead of treating it as a 0-length code. Fixes #10426. Change-Id: Ie2f1a3a718afd7c6bee73a67480d4b84936c21c9 Reviewed-on: https://go-review.googlesource.com/8893 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Nigel Tao <nigeltao@golang.org>
-
Dave Day authored
This also involves adding functions to typelinks along with a minor change to ensure they are sorted correctly. Change-Id: I054a79b6498a634cbccce17579f52c299733c2cf Reviewed-on: https://go-review.googlesource.com/1996Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Nigel Tao authored
Change-Id: I211c0d33dc292c6a703d788f6d4d286107bcb6b0 Reviewed-on: https://go-review.googlesource.com/8906Reviewed-by: Rob Pike <r@golang.org>
-
Mikio Hara authored
Under some dial tests that require external network connectivity, we must prevent application traffic but must not interfere with control plane traffic such as DNS message exchange. But test helper function disableSocketConnect prevents both application and control plane traffic unconditionally and makes some dial tests with -ipv6 fail when CGO_ENABLED=0. This change makes disableSocketConnect take a look at not only address family but socket type for fixing some dial tests with -ipv6 when CGO_ENBALED=0. Change-Id: I32241d9592d31483424bb5e69cb4d56f3fc20312 Reviewed-on: https://go-review.googlesource.com/8743Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
- 15 Apr, 2015 18 commits
-
-
Michael Hudson-Doyle authored
Change-Id: I09e84161d106960a69972f5fc845a1e40c28e58f Reviewed-on: https://go-review.googlesource.com/8331 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
You can now do 'go install -buildmode=shared std' and get yourself a nice (33 meg) libstd.so (which is not useful until there is -linkshared support as well, of course). Change-Id: Ie9b7e7f72abc7d369a6e3ecc98903a9d197bd6e6 Reviewed-on: https://go-review.googlesource.com/8300 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Ian Lance Taylor authored
Move the single file from internal/syscall to internal/syscall/unix, to match the golang.org/x/sys layout. Change-Id: I2fb2832b4cb22efc7666bd276f5401ac3e73dc40 Reviewed-on: https://go-review.googlesource.com/8972Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Rob Pike <r@golang.org>
-
David Crawshaw authored
Change-Id: I9ceceb29291ea9f5d7b675dfabd665c5e3618471 Reviewed-on: https://go-review.googlesource.com/8955Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
Fixes #10449 Change-Id: I1dc2d0213e6a46f3609222d5460c1a54081e2471 Reviewed-on: https://go-review.googlesource.com/8931Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
This is $GOPATH/pkg/linux_amd64 or similar. cmd/go already had a grotty calculation of this and I need to add another one for -buildmode=shared. Change-Id: Ied28c9b7cce671da8d45920e124a3e0c2501258a Reviewed-on: https://go-review.googlesource.com/8930Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Hudson-Doyle authored
Including having -r "" preventing rpath from being set at all. Change-Id: Ib40d7bf93a6e9ef21985c4a05b5703e4fbd1cd1b Reviewed-on: https://go-review.googlesource.com/8806Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Josh Bleecher Snyder authored
It is faster to execute MOVQ AX,(DI) MOVQ AX,8(DI) MOVQ AX,16(DI) MOVQ AX,24(DI) ADDQ $32,DI than STOSQ STOSQ STOSQ STOSQ However, in order to be able to jump into the middle of a block of MOVQs, the call site needs to pre-adjust DI. If we're clearing a small area, the cost of that DI pre-adjustment isn't repaid. This CL switches the DUFFZERO implementation to use a hybrid strategy, in which small clears use STOSQ as before, but large clears use mostly MOVQ/ADDQ blocks. benchmark old ns/op new ns/op delta BenchmarkClearFat8 0.55 0.55 +0.00% BenchmarkClearFat12 0.82 0.83 +1.22% BenchmarkClearFat16 0.55 0.55 +0.00% BenchmarkClearFat24 0.82 0.82 +0.00% BenchmarkClearFat32 2.20 1.94 -11.82% BenchmarkClearFat40 1.92 1.66 -13.54% BenchmarkClearFat48 2.21 1.93 -12.67% BenchmarkClearFat56 3.03 2.20 -27.39% BenchmarkClearFat64 3.26 2.48 -23.93% BenchmarkClearFat72 3.57 2.76 -22.69% BenchmarkClearFat80 3.83 3.05 -20.37% BenchmarkClearFat88 4.14 3.30 -20.29% BenchmarkClearFat128 5.54 4.69 -15.34% BenchmarkClearFat256 9.95 9.09 -8.64% BenchmarkClearFat512 18.7 17.9 -4.28% BenchmarkClearFat1024 36.2 35.4 -2.21% Change-Id: Ic786406d9b3cab68d5a231688f9e66fcd1bd7103 Reviewed-on: https://go-review.googlesource.com/2585Reviewed-by: Keith Randall <khr@golang.org>
-
Josh Bleecher Snyder authored
Val is used to hold constant values. Reg was the odd duck out. Generated using eg. No functional changes. Passes toolstash -cmp. Change-Id: Ic1de769a1f92bb02e09a4428d998b716f307e2f6 Reviewed-on: https://go-review.googlesource.com/8912Reviewed-by: Russ Cox <rsc@golang.org>
-
Michael Hudson-Doyle authored
By removing type slice, renaming type sliceStruct to type slice and whacking until it compiles. Has a pleasing net reduction of conversions. Fixes #10188 Change-Id: I77202b8df637185b632fd7875a1fdd8d52c7a83c Reviewed-on: https://go-review.googlesource.com/8770Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Hudson-Doyle authored
We forgot to add the !gccgo tag to cpuid_386.s. Change-Id: I2de2ed92ac9686c9365cb37cd29121fa98c2bf37 Reviewed-on: https://go-review.googlesource.com/8960Reviewed-by: Dave Cheney <dave@cheney.net> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Rob Pike authored
Change-Id: Ia0d7c2f08f8f124bcd62c7f9744227812d68903d Reviewed-on: https://go-review.googlesource.com/8941Reviewed-by: Rob Pike <r@golang.org>
-
Rob Pike authored
When a reflect.Value is passed to Printf (etc.), fmt called the String method, which does not disclose its contents. To get the contents, one could call Value.Interface(), but that is illegal if the Value is not exported or otherwise forbidden. This CL improves the situation with a trivial change to the fmt package: when we see a reflect.Value as an argument, we treat it exactly as we treat a reflect.Value we make inside the package. This means that we always print the contents of the Value as if _that_ was the argument to Printf. This is arguably a breaking change but I think it is a genuine improvement and no greater a break than many other tweaks we have made to formatted output from this package. Fixes #8965. Change-Id: Ifc2a4ce3c1134ad5160e101d2196c22f1542faab Reviewed-on: https://go-review.googlesource.com/8731Reviewed-by: roger peppe <rogpeppe@gmail.com> Reviewed-by: Russ Cox <rsc@golang.org>
-
Rob Pike authored
This trivial addition to the io package makes it easy to control the buffer size and allocation properties of io.Copy. Change-Id: Ica1a6bd015e429d4e655bc0c6f66cea21c454acf Reviewed-on: https://go-review.googlesource.com/8730Reviewed-by: Russ Cox <rsc@golang.org>
-
Dave Cheney authored
Fixes #9855 Use an architectural zero register as the source for zeroing, if available. Change-Id: Ie5b4ba4e3d356c6f892bfd1cebd14d5152bdeeb0 Reviewed-on: https://go-review.googlesource.com/8722Reviewed-by: Keith Randall <khr@golang.org>
-
Mikio Hara authored
Change-Id: I63053c45081f47ba736720a78d85c31c13767891 Reviewed-on: https://go-review.googlesource.com/8642Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Mikio Hara authored
Change-Id: Icaac9a48a3b9a3c5542235162e21ab8303592965 Reviewed-on: https://go-review.googlesource.com/8641Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Dave Cheney authored
Fixes #10450 runtime.cputicks is called from runtime.exitsyscall and must not split the stack. cputicks is implemented in several ways and the NOSPLIT annotation was missing from a few of these. Change-Id: I5cbbb4e5888c5d298fe2fef240782d0e49f59af8 Reviewed-on: https://go-review.googlesource.com/8939Reviewed-by: Aram Hăvărneanu <aram@mgk.ro>
-