- 19 Oct, 2015 5 commits
-
-
David Crawshaw authored
Change-Id: Ib424e14cfaab35d37ebdd084d41151928bfd645e Reviewed-on: https://go-review.googlesource.com/16051Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: David Crawshaw <crawshaw@golang.org>
-
Brad Fitzpatrick authored
It was generating the wrong error message, always defaulting to "500 Internal Server Error", since the err variable used was always nil. Fixes #12991 Change-Id: I94b0e516409c131ff3b878bcb91e65f0259ff077 Reviewed-on: https://go-review.googlesource.com/16060Reviewed-by: David Crawshaw <crawshaw@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Aaron Jacobs authored
It appears this was made possible by commit 89f185fe; before that, g was not dereferenced above. Change-Id: I70bc571d924b36351392fd4c13d681e938cfb573 Reviewed-on: https://go-review.googlesource.com/16033Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Nodir Turakulov authored
from proc1.go to proc.go: * prepend header comment explaining "Goroutine scheduler" * insert m0 and g0 var defs after the comment * append the rest Updates #12952 Change-Id: I35ee9ae3287675cde0c1b6aeaca0a460393f2354 Reviewed-on: https://go-review.googlesource.com/16024 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Joe Tsai authored
The flate library guarantees that the Reader will never read more bytes than is necessary. This way, the underlying io.Reader will be left exactly after the last byte of the DEFLATE stream. Formats like gzip depend on this behavior being true. As such, inflate conservatively reads the minimum symbol length in huffSym leading to many individual calls to moreBits. However, if we take advantage of the fact that every block *must* end with the EOB symbol, we can choose to read the length of the EOB symbol. Since the EOB symbol is also the most rare symbol (occuring exactly once) in a block, we can hypothesize that it is almost as long as the max symbol length, allowing huffSym to ask for more bits at the start of every loop. This increases the probabilty that the Huffman code is decoded on the first iteration of the outer for-loop. benchmark old MB/s new MB/s speedup BenchmarkDecodeDigitsSpeed1e4-4 51.05 54.31 1.06x BenchmarkDecodeDigitsSpeed1e5-4 58.86 62.24 1.06x BenchmarkDecodeDigitsSpeed1e6-4 59.63 63.13 1.06x BenchmarkDecodeDigitsDefault1e4-4 51.94 54.61 1.05x BenchmarkDecodeDigitsDefault1e5-4 63.70 69.13 1.09x BenchmarkDecodeDigitsDefault1e6-4 66.08 71.43 1.08x BenchmarkDecodeDigitsCompress1e4-4 52.25 54.56 1.04x BenchmarkDecodeDigitsCompress1e5-4 63.34 68.30 1.08x BenchmarkDecodeDigitsCompress1e6-4 66.84 70.64 1.06x BenchmarkDecodeTwainSpeed1e4-4 50.74 53.40 1.05x BenchmarkDecodeTwainSpeed1e5-4 60.77 67.03 1.10x BenchmarkDecodeTwainSpeed1e6-4 62.08 69.78 1.12x BenchmarkDecodeTwainDefault1e4-4 53.45 56.40 1.06x BenchmarkDecodeTwainDefault1e5-4 73.54 79.05 1.07x BenchmarkDecodeTwainDefault1e6-4 77.68 83.65 1.08x BenchmarkDecodeTwainCompress1e4-4 53.21 56.15 1.06x BenchmarkDecodeTwainCompress1e5-4 73.82 77.76 1.05x BenchmarkDecodeTwainCompress1e6-4 79.23 83.30 1.05x Change-Id: Ie194925c827988a380b8c2fdd13b13c4faa5d397 Reviewed-on: https://go-review.googlesource.com/15651Reviewed-by: Nigel Tao <nigeltao@golang.org>
-
- 18 Oct, 2015 7 commits
-
-
Nodir Turakulov authored
* append contents of race1.go to race.go * delete "Implementation of the race detector API." comment from race1.go Updates #12952 Change-Id: Ibdd9c4dc79a63c3bef69eade9525578063c86c1c Reviewed-on: https://go-review.googlesource.com/16023 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Michael Hudson-Doyle authored
PIC code on ppc64le uses R2 as a TOC pointer and when calling a function through a function pointer must ensure the function pointer is in R12. These rules are easy enough to follow unconditionally in our assembly, so do that. Change-Id: Icfc4e47ae5dfbe15f581cbdd785cdeed6e40bc32 Reviewed-on: https://go-review.googlesource.com/15526Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
Shared libraries on ppc64le will require a larger minimum stack frame (because the ABI mandates that the TOC pointer is available at 24(R1)). Part 3 of that is using a #define in the ppc64 assembly to refer to the size of the fixed part of the stack (finding all these took me about a week!). Change-Id: I50f22fe1c47af1ec59da1bd7ea8f84a4750df9b7 Reviewed-on: https://go-review.googlesource.com/15525Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
Shared libraries on ppc64le will require a larger minimum stack frame (because the ABI mandates that the TOC pointer is available at 24(R1)). Part 2a of preparing for that is to have all bits of arch-independent and ppc64-specific codegen that need to know call a function to find out. Change-Id: I55899f73037e92227813c491049a3bd6f30bd41f Reviewed-on: https://go-review.googlesource.com/15524Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
Shared libraries on ppc64le will require a larger minimum stack frame (because the ABI mandates that the TOC pointer is available at 24(R1)). So to prepare for this, make a constant for the fixed part of a stack and use that where necessary. Change-Id: I447949f4d725003bb82e7d2cf7991c1bca5aa887 Reviewed-on: https://go-review.googlesource.com/15523Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Hudson-Doyle authored
Replace the confusing game where a frame size of $-8 would suppress the implicit setting up of a stack frame with a nice explicit flag. The code to set up the function prologue is still a little confusing but better than it was. Change-Id: I1d49278ff42c6bc734ebfb079998b32bc53f8d9a Reviewed-on: https://go-review.googlesource.com/15670Reviewed-by: Minux Ma <minux@golang.org>
-
Justin Nuß authored
This fixes a TODO in (*WordDecoder).Decode by replacing a call to strings.Split with simple prefix/suffix checking and some custom slicing. Benchmark results: benchmark old ns/op new ns/op delta BenchmarkQEncodeWord-8 740 693 -6.35% BenchmarkQDecodeWord-8 1291 727 -43.69% BenchmarkQDecodeHeader-8 1194 767 -35.76% benchmark old allocs new allocs delta BenchmarkQEncodeWord-8 1 1 +0.00% BenchmarkQDecodeWord-8 3 2 -33.33% BenchmarkQDecodeHeader-8 3 2 -33.33% benchmark old bytes new bytes delta BenchmarkQEncodeWord-8 48 48 +0.00% BenchmarkQDecodeWord-8 128 48 -62.50% BenchmarkQDecodeHeader-8 128 48 -62.50% Change-Id: I2d6844c75ec2e2b79be2e49b7fc4ca320b7e84e5 Reviewed-on: https://go-review.googlesource.com/14432Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
- 17 Oct, 2015 4 commits
-
-
Nodir Turakulov authored
* rename stack1.go -> stack.go * prepend contents of stack2.go to stack.go Updates #12952 Change-Id: I60d409af37162a5a7596c678dfebc2cea89564ff Reviewed-on: https://go-review.googlesource.com/16008Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Hudson-Doyle authored
Go cannot allow lazy PLT resolution when calling between Go functions because the lazy resolution can use more stack than is available. Lazy resolution is disabled by passing -z now to the system linker, but unfortunately was only passed when linking to a Go shared library. That sounds fine, but the shared library containing the runtime is not linked to any other Go shared library but calls main.init and main.main via a PLT, and before this fix this did use lazy resolution. (For some reason this never caused a problem on intel, but it breaks on ppc64le). Fortunately the fix is very simple: always pass -z now to the system linker when dynamically linking Go. Change-Id: I7806d40aac80dcd1e56b95864d1cfeb1c42614e2 Reviewed-on: https://go-review.googlesource.com/15870Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Yasuharu Goto authored
Current http client doesn't support Expect: 100-continue request header(RFC2616-8/RFC7231-5.1.1). So even if the client have the header, the head of the request body is consumed prematurely. Those are my intentions to avoid premature consuming body in this change. - If http.Request header contains body and Expect: 100-continue header, it blocks sending body until it gets the first response. - If the first status code to the request were 100, the request starts sending body. Otherwise, sending body will be cancelled. - Tranport.ExpectContinueTimeout specifies the amount of the time to wait for the first response. Fixes #3665 Change-Id: I4c04f7d88573b08cabd146c4e822061764a7cd1f Reviewed-on: https://go-review.googlesource.com/10091 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
Change-Id: Ie9ea4af4315a4d0eb69d0569726bb3eca2b397af Reviewed-on: https://go-review.googlesource.com/16005Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 16 Oct, 2015 9 commits
-
-
Brad Fitzpatrick authored
Fixes #7782 Fixes #9554 Updates #7237 (original metabug, before we switched to specific bugs) Updates #11932 (plan9 still doesn't have net I/O deadline support) Change-Id: I96f311b88b1501d884ebc008fd31ad2cf1e16d75 Reviewed-on: https://go-review.googlesource.com/15941Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: David du Colombier <0intro@gmail.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ilya Tocar authored
In net/parse.go we reimplement bytes.IndexByte and strings.IndexByte, However those are implemented in runtime/$GOARCH_asm.s. Using versions from runtime should provide performance advantage, and keep the same code together. Change-Id: I6212184bdf6aa1f2c03ce26d4b63f5b379d8ed0c Reviewed-on: https://go-review.googlesource.com/15953 Run-TryBot: Ilya Tocar <ilya.tocar@intel.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Nodir Turakulov authored
A TODO to merge is removed from panic1.go. The rest is appended to panic.go Updates #12952 Change-Id: Ied4382a455abc20bc2938e34d031802e6b4baf8b Reviewed-on: https://go-review.googlesource.com/15905Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
Nodir Turakulov authored
It seems that it was called print1.go mistakenly: print.go was deleted in the same commit: https://go.googlesource.com/go/+/597b266eafe7d63e9be8da1c1b4813bd2998a11c Updates #12952 Change-Id: I371e59d6cebc8824857df3f3ee89101147dfffc0 Reviewed-on: https://go-review.googlesource.com/15950Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
Nodir Turakulov authored
string1.go contents are appended to string.go as is Updates #12952 Change-Id: I30083ba7fdd362d4421e964a494c76ca865bedc2 Reviewed-on: https://go-review.googlesource.com/15951Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Chris Hines authored
Previously with db.maxOpen > 0, db.maxOpen+n failed connection attempts started concurrently could result in a deadlock. DB.conn and DB.openNewConnection did not trigger the DB.connectionOpener go routine after a failed connection attempt. This omission could leave go routines waiting for DB.connectionOpener forever. In addition the logic to track the state of the pool was inconsistent. db.numOpen was sometimes incremented optimistically and sometimes not. This change harmonizes the logic and eliminates the db.pendingOpens variable, making the logic easier to understand and maintain. Fixes #10886 Change-Id: I983c4921a3dacfbd531c3d7f8d2da8a592e9922a Reviewed-on: https://go-review.googlesource.com/14547Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
Change-Id: I3ba6e97089ef6e69ba31dfb632df465859906a74 Reviewed-on: https://go-review.googlesource.com/15940 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Michael Hudson-Doyle authored
Change-Id: I88f80f5914d6e4c179f3d28aa59fc29b7ef0cc66 Reviewed-on: https://go-review.googlesource.com/15960Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Hudson-Doyle authored
os/signal depends on a few unexported runtime functions. This removes the assembly stubs it used to get access to these in favour of using //go:linkname in runtime to make the functions accessible to os/signal. This is motivated by ppc64le shared libraries, where you cannot BR to a symbol defined in a shared library (only BL), but it seems like an improvment anyway. Change-Id: I09361203ce38070bd3f132f6dc5ac212f2dc6f58 Reviewed-on: https://go-review.googlesource.com/15871 Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Minux Ma <minux@golang.org> Reviewed-by: Dave Cheney <dave@cheney.net>
-
- 15 Oct, 2015 6 commits
-
-
Matthew Dempsky authored
This isn't C anymore. No binary change to pkg/linux_amd64/runtime.a. Change-Id: I24d66b0f5ac888f432b874aac684b1395e7c8345 Reviewed-on: https://go-review.googlesource.com/15903Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
Apply static bounds checking logic during type checking even to zero-element arrays, but skip synthesized OINDEX nodes that the compiler has asserted are within bounds (such as the ones generated while desugaring ORANGE nodes). This matches the logic in walkexpr that also skips static bounds checking when Bounded is true. Passes toolstash/buildall. Fixes #12944. Change-Id: I14ba03d71c002bf969d69783bec8d1a8e10e7d75 Reviewed-on: https://go-review.googlesource.com/15902Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Matthew Dempsky authored
No functional change and passes toolstash/buildall, but eliminates a 13-deep nesting of if statements. Change-Id: I32e63dcf358c6eb521935f4ee07fbe749278e5ef Reviewed-on: https://go-review.googlesource.com/15901Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
Change-Id: I0255f24f5c5925ea4daa28a28d23606df35d4373 Reviewed-on: https://go-review.googlesource.com/15824Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Nodir Turakulov authored
Read what a non-empty interface points to. The deleted lines were added in https://codereview.appspot.com/4810060/, which attempted to break an infinite loop. That was a long time ago. If I just delete these lines with current codebase, the test "bug1" (added in that CL) does not fail. All new tests fail without this fix. Fixes #12924 Change-Id: I9370ca44facd6af3019850aa065b936e5a482d37 Reviewed-on: https://go-review.googlesource.com/15809Reviewed-by: Andrew Gerrand <adg@golang.org>
-
Alexandre Cesaro authored
As specified by RFC 2047 section 2, encoded-words may not be more than 75 characters long. We only enforce this rule when the charset is UTF-8, since multi-bytes characters must not be split accross encoded-words (see section 5.3). Fixes #12300 Change-Id: I72a43fc3fe6ddeb3dab54dcdce0837d7ebf658f0 Reviewed-on: https://go-review.googlesource.com/14957 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 14 Oct, 2015 9 commits
-
-
Aaron Jacobs authored
The clues to this were already there, but as a user I was still unsure. Make this more explicit. Change-Id: I68564f3498dcd4897772a303588f03a6b65f111d Reviewed-on: https://go-review.googlesource.com/15172Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Nodir Turakulov authored
As correctly mentioned in #11883, encodeState.string and encodeState.stringBytes never return an error. This CL removes the error from the function signatures and somewhat simplifies call sites. Fixes #11883 Change-Id: I1d1853d09631c545b68b5eea86ff7daa2e0ca10b Reviewed-on: https://go-review.googlesource.com/15836 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
This enables HTTP/2 by default (for https only) if the user didn't configure anything in their NPN/ALPN map. If they're using SPDY or an alternate http2 or a newer http2 from x/net/http2, we do nothing and don't use the standard library's vendored copy of x/net/http2. Upstream remains golang.org/x/net/http2. Update #6891 Change-Id: I69a8957a021a00ac353f9d7fdb9a40a5b69f2199 Reviewed-on: https://go-review.googlesource.com/15828 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Andrew Gerrand <adg@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
golang.org/x/net/http2 becomes net/http/h2_bundle.go (using adonovan's x/tools/cmd/bundle tool), becoming a hidden part of the net/http package. golang.org/x/net/http2/hpack becomes vendor/golang.org/x/net/http2/hpack. At git rev 7331ef52 (https://go-review.googlesource.com/15821) Change-Id: Ia6683e6f91a481b11a778638bf65b6a338744eea Reviewed-on: https://go-review.googlesource.com/15822Reviewed-by: Andrew Gerrand <adg@golang.org>
-
David Glasser authored
The PROXY protocol is supported by several proxy servers such as haproxy and Amazon ELB. This protocol allows services running behind a proxy to learn the remote address of the actual client connecting to the proxy, by including a single textual line at the beginning of the TCP connection. http://www.haproxy.org/download/1.5/doc/proxy-protocol.txt There are several Go libraries for this protocol (such as https://github.com/armon/go-proxyproto), which operate by wrapping a net.Conn with an implementation whose RemoteAddr method reads the protocol line before returning. This means that RemoteAddr is a blocking call. Before this change, http.Serve called RemoteAddr from the main Accepting goroutine, not from the per-connection goroutine. This meant that it would not Accept another connection until RemoteAddr returned, which is not appropriate if RemoteAddr needs to do a blocking read from the socket first. Fixes #12943. Change-Id: I1a242169e6e4aafd118b794e7c8ac45d0d573421 Reviewed-on: https://go-review.googlesource.com/15835Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Joe Tsai authored
Change-Id: I2ac6b178e666e34e028001078faf62ce71e12e9d Reviewed-on: https://go-review.googlesource.com/15834Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Steven Hartland authored
Allow all CGI environment settings from the inherited set and default inherited set to be overridden including PATH by Env. Change-Id: Ief8d33247b879fa87a8bfd6416d4813116db98de Reviewed-on: https://go-review.googlesource.com/14959Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
-
Raul Silvera authored
The current fastlog2 testing checks all 64M values in the domain of interest, which is too much for platforms with no native floating point. Reduce testing under testing.Short() to speed up builds for those platforms. Related to #12620 Change-Id: Ie5dcd408724ba91c3b3fcf9ba0dddedb34706cd1 Reviewed-on: https://go-review.googlesource.com/15830Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Joel Sing <jsing@google.com> Reviewed-by: Minux Ma <minux@golang.org> Run-TryBot: Minux Ma <minux@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Katrina Owen authored
The documentation listing err == EOF can be confusing to newcomers to the language who are looking for the relevant documentation for that error. Change-Id: I301885950d0e1d0fbdf3a1892fca86eac7a0c616 Reviewed-on: https://go-review.googlesource.com/15806Reviewed-by: Andrew Gerrand <adg@golang.org>
-