- 13 Apr, 2018 10 commits
-
-
Josh Bleecher Snyder authored
This cuts the allocated space while executing go tool objdump -S `go tool -n compile` by over 10%. It also speeds it up slightly: name old time/op new time/op delta ObjdumpSCompiler 9.03s ± 1% 8.88s ± 1% -1.59% (p=0.000 n=20+20) Updates #24725 Change-Id: Ic6ef8e273ede589334ab6e07099ac2e5bdf990c9 Reviewed-on: https://go-review.googlesource.com/106798 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Jeremy Jackins authored
On my system, this seems to be a significant win, with a major reduction in allocations and minor speed improvement. name old time/op new time/op delta CodeMarshal 9.75ms ± 3% 9.24ms ± 1% -5.21% (p=0.001 n=5+10) CodeMarshal-4 4.98ms ± 1% 4.71ms ± 1% -5.44% (p=0.001 n=5+10) CodeMarshal-8 4.80ms ± 0% 4.77ms ± 1% -0.70% (p=0.012 n=5+9) name old speed new speed delta CodeMarshal 199MB/s ± 3% 210MB/s ± 1% +5.46% (p=0.001 n=5+10) CodeMarshal-4 390MB/s ± 1% 412MB/s ± 1% +5.76% (p=0.001 n=5+10) CodeMarshal-8 404MB/s ± 0% 407MB/s ± 1% +0.70% (p=0.012 n=5+9) name old alloc/op new alloc/op delta CodeMarshal 4.59MB ± 0% 1.96MB ± 0% -57.22% (p=0.000 n=5+9) CodeMarshal-4 4.59MB ± 0% 2.00MB ± 0% -56.39% (p=0.000 n=5+8) CodeMarshal-8 4.59MB ± 0% 2.06MB ± 0% -55.05% (p=0.001 n=5+9) name old allocs/op new allocs/op delta CodeMarshal 16.0 ± 0% 1.0 ± 0% -93.75% (p=0.000 n=5+10) CodeMarshal-4 16.0 ± 0% 1.0 ± 0% -93.75% (p=0.000 n=5+10) CodeMarshal-8 16.0 ± 0% 1.0 ± 0% -93.75% (p=0.000 n=5+10) Change-Id: I9d09850d8227f523f861ae1b4ca248c4a4b16aaf Reviewed-on: https://go-review.googlesource.com/84897Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Sebastien Binet authored
Fixes #24841 Updates #24845 Change-Id: I4a5c05f4cbf9692bd6cab48baf3cc51fa43fe5a9 Reviewed-on: https://go-review.googlesource.com/106837Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Cherry Zhang authored
Use the new softfloat support in the compiler, originally added for softfloat on MIPS. This support is portable, so we can just use it for softfloat on ARM. In the old softfloat support on ARM, the compiler generates floating point instructions, then the assembler inserts calls to _sfloat before FP instructions. _sfloat decodes the following FP instructions and simulates them. In the new scheme, the compiler generates runtime calls to do FP operations at a higher level. It doesn't generate FP instructions, and therefore the assembler won't insert _sfloat calls, i.e. the old mechanism is automatically suppressed. The old method may be still be triggered with assembly code using FP instructions. In the standard library, the only occurance is math/sqrt_arm.s, which is rewritten to call to the Go implementation instead. Some significant speedups for code using floating points: name old time/op new time/op delta BinaryTree17-4 37.1s ± 2% 37.3s ± 1% ~ (p=0.105 n=10+10) Fannkuch11-4 13.0s ± 0% 13.1s ± 0% +0.46% (p=0.000 n=10+10) FmtFprintfEmpty-4 700ns ± 4% 734ns ± 6% +4.84% (p=0.009 n=10+10) FmtFprintfString-4 1.22µs ± 3% 1.22µs ± 4% ~ (p=0.897 n=10+10) FmtFprintfInt-4 1.27µs ± 2% 1.30µs ± 1% +1.91% (p=0.001 n=10+9) FmtFprintfIntInt-4 1.83µs ± 2% 1.81µs ± 3% ~ (p=0.149 n=10+10) FmtFprintfPrefixedInt-4 1.80µs ± 3% 1.81µs ± 2% ~ (p=0.421 n=10+8) FmtFprintfFloat-4 6.89µs ± 3% 3.59µs ± 2% -47.93% (p=0.000 n=10+10) FmtManyArgs-4 6.39µs ± 1% 6.09µs ± 1% -4.61% (p=0.000 n=10+9) GobDecode-4 109ms ± 2% 81ms ± 2% -25.99% (p=0.000 n=9+10) GobEncode-4 109ms ± 2% 76ms ± 2% -29.88% (p=0.000 n=10+9) Gzip-4 3.61s ± 1% 3.59s ± 1% ~ (p=0.247 n=10+10) Gunzip-4 449ms ± 4% 450ms ± 1% ~ (p=0.230 n=10+7) HTTPClientServer-4 1.55ms ± 3% 1.53ms ± 2% ~ (p=0.400 n=9+10) JSONEncode-4 356ms ± 1% 183ms ± 1% -48.73% (p=0.000 n=10+10) JSONDecode-4 1.12s ± 2% 0.87s ± 1% -21.88% (p=0.000 n=10+10) Mandelbrot200-4 5.49s ± 1% 2.55s ± 1% -53.45% (p=0.000 n=9+10) GoParse-4 49.6ms ± 2% 47.5ms ± 1% -4.08% (p=0.000 n=10+9) RegexpMatchEasy0_32-4 1.13µs ± 4% 1.20µs ± 4% +6.42% (p=0.000 n=10+10) RegexpMatchEasy0_1K-4 4.41µs ± 2% 4.44µs ± 2% ~ (p=0.128 n=10+10) RegexpMatchEasy1_32-4 1.15µs ± 5% 1.20µs ± 5% +4.85% (p=0.002 n=10+10) RegexpMatchEasy1_1K-4 6.21µs ± 2% 6.37µs ± 4% +2.62% (p=0.001 n=9+10) RegexpMatchMedium_32-4 1.58µs ± 5% 1.65µs ± 3% +4.85% (p=0.000 n=10+10) RegexpMatchMedium_1K-4 341µs ± 3% 351µs ± 7% ~ (p=0.573 n=8+10) RegexpMatchHard_32-4 21.4µs ± 3% 21.5µs ± 5% ~ (p=0.931 n=9+9) RegexpMatchHard_1K-4 626µs ± 2% 626µs ± 1% ~ (p=0.645 n=8+8) Revcomp-4 46.4ms ± 2% 47.4ms ± 2% +2.07% (p=0.000 n=10+10) Template-4 1.31s ± 3% 1.23s ± 4% -6.13% (p=0.000 n=10+10) TimeParse-4 4.49µs ± 1% 4.41µs ± 2% -1.81% (p=0.000 n=10+9) TimeFormat-4 9.31µs ± 1% 9.32µs ± 2% ~ (p=0.561 n=9+9) Change-Id: Iaeeff6c9a09c1b2c064d06e09dd88101dc02bfa4 Reviewed-on: https://go-review.googlesource.com/106735Reviewed-by: Austin Clements <austin@google.com> Run-TryBot: Austin Clements <austin@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Hana Kim authored
golang.org/cl/102697 attempted to fix the span presentation by utilizing the position of the span in the span slices of a task. But it is not complete either. First, id=0 is omitted in json encoding and the trace viewer silently drops entries with the missing id field, so we must avoid zero-value id. Second, it is possible that a goroutine handles multiple tasks. Then, id collisions will happen. This takes a simpler approach - have a counter that increments for every emitSpan call, and use the value as the id value. Change-Id: Idaa9505634acf6d327c6f00af32d8260955b85e1 Reviewed-on: https://go-review.googlesource.com/106755Reviewed-by: Heschi Kreinick <heschi@google.com> Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
fanzha02 authored
The current assembler will report error when the negative offset is in the range of [-256, 0) and is not the multiples of 4/8. The fix introduces C_NSAUTO_8, C_NSAUTO_4 and C_NAUTO4K. C_NPAUTO includes C_NSAUTO_8 instead of C_NSAUTO, C_NAUTO4K includes C_NSAUTO_8, C_NSAUTO_4 and C_NSAUTO. So that assembler will encode the negative offset that is greater than -4095 and is not the multiples of 4/8 as two instructions. Add the test cases. Fixed #24471 Change-Id: I42f34e3b8a9fc52c9e8b41504294271aafade639 Reviewed-on: https://go-review.googlesource.com/102635 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Cherry Zhang authored
The escape analysis models "loop depth". If the address of an expression is assigned to something defined at a lower (outer) loop depth, the escape analysis decides it escapes. However, it uses the loop depth of the address operator instead of where the RHS is defined. This causes an unnecessary escape if there is an assignment inside a loop but the RHS is defined outside the loop. This CL propagates the loop depth. Fixes #24730. Change-Id: I5ff1530688bdfd90561a7b39c8be9bfc009a9dae Reviewed-on: https://go-review.googlesource.com/105257 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
-
Ian Lance Taylor authored
This is more or less implied by the spec language on initialization, but restate it for clarity. Fixes #23112 Change-Id: Ibe5385acafe4eac38823de98a025cd37f7a77d3b Reviewed-on: https://go-review.googlesource.com/103399Reviewed-by: Austin Clements <austin@google.com>
-
Ian Lance Taylor authored
If there are no certs, return an empty pool, not nil. Fixes #21405 Change-Id: Ib4ac9d5c4a8cef83dd53565b0707a63b73ba0a8b Reviewed-on: https://go-review.googlesource.com/103596 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Filippo Valsorda <filippo@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Ian Lance Taylor authored
Fixes #23178 Change-Id: I060a73d6263bc135f5a14c1991932a225208bb39 Reviewed-on: https://go-review.googlesource.com/103396Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 12 Apr, 2018 14 commits
-
-
Josh Bleecher Snyder authored
As an example of why this might happen, consider this code from cmd/internal/objfile: // Expand literal "$GOROOT" rewritten by obj.AbsFile() filename = filepath.Clean(os.ExpandEnv(filename)) In this case, filename might not contain "$GOROOT", in which case we can skip the buffer entirely. name old time/op new time/op delta Expand/noop-8 46.7ns ± 1% 12.9ns ± 1% -72.47% (p=0.000 n=9+9) Expand/multiple-8 139ns ± 1% 137ns ± 1% -1.36% (p=0.001 n=10+10) The Expand/multiple improvement is probably noise. This speeds up cmd/objdump detectably, if not much. Using "benchcmd ObjdumpCompile go tool objdump `go tool -n compile`": name old time/op new time/op delta ObjdumpCompile 9.35s ± 2% 9.07s ± 3% -3.00% (p=0.000 n=18+18) Updates #24725 Change-Id: Id31ec6a9b8dfb3c0f1db58fe1f958e11c39e656c Reviewed-on: https://go-review.googlesource.com/106697 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
Change-Id: I68e65591cc50433f97a97027e3ae3b452451adf2 Reviewed-on: https://go-review.googlesource.com/106696 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Josh Bleecher Snyder authored
Change-Id: Iba6feea74d65a961f30c12fb6c677ccd3b2c3591 Reviewed-on: https://go-review.googlesource.com/106695 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
adrienpetel authored
Fixes #24580 Change-Id: I7536aca1e90717283bd6a3bb4b1bab059b0cf720 Reviewed-on: https://go-review.googlesource.com/104677 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Tom Limoncelli authored
Users of TempFile need to be able to supply the suffix, especially when using operating systems that give semantic meaning to the filename extension such as Windows. Renaming the file to include an extension after the fact is insufficient as it could lead to race conditions. If the string given to TempFile includes a "*", the random string replaces the "*". For example "myname.*.bat" will result in a random filename such as "myname.123456.bat". If no "*' is included the old behavior is retained, and the random digits are appended to the end. If multiple "*" are included, the final one is replaced, thus permitting a pathological programmer to create filenames such as "foo*.123456.bat" but not "foo.123456.*.bat" Fixes #4896 Change-Id: Iae7f0980b4de6d7d31b87c8c3c3d40767b283c1f Reviewed-on: https://go-review.googlesource.com/105675Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Ben Shi authored
"MOVD $0xaaaaaaaa, R2" "MOVD $-0x55555555, R3" For the above instructions, 64-bit constants 0x00000000 aaaaaaaa and 0xffffffff aaaaaaab are stored in the constant pool. This CL optimizes them to "MOVWU $0xaaaaaaaa, R2" "MOVW $-0x05555555, R3" and 32-bit constants 0xaaaaaaaa and 0xaaaaaaab are stored in the constant pool. There is a little size reduction (about total 5KB) in both the go executable and the library files. Change-Id: I7c4bfa6cd9c07da99c69a8f9c15010a0cce3b735 Reviewed-on: https://go-review.googlesource.com/105775Reviewed-by: Cherry Zhang <cherryyz@google.com> Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Josh Bleecher Snyder authored
Fixes #24817 Change-Id: Ifa79ab3dfe69297eeef85f7193cd5f85e5982bc5 Reviewed-on: https://go-review.googlesource.com/106655 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Elias Naur authored
First, take the exclusive lock that ensures only one running binary later: after assembling the gotest.app directory and signing it. Second, don't pass -r to ios-deploy. The -r flag uninstalls the app before installing it. It seems unnecessary, takes extra time and if there was only the one developer app on the phone, it will drop the developer permission on uninstall. Change-Id: Ia222d3e5c2e1e2285f53074eb952941fd45fadd9 Reviewed-on: https://go-review.googlesource.com/106676Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
-
dchenk authored
This commit includes efficiency improvements in two places in the database/sql package where an "if err != nil" was redundant and the error can be returned as-is (most of the code in the standard library and even in the file I changed does it my suggested way). Change-Id: Ib9dac69ed01ee846e570a776164cb87c2caee6ca Reviewed-on: https://go-review.googlesource.com/106555Reviewed-by: Daniel Theophanes <kardianos@gmail.com> Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Brad Fitzpatrick authored
The receiver was renamed 6 years ago in https://golang.org/cl/5674065 but the docs weren't updated to match. Change-Id: I5e72cedc0e0f067382545d272f48a9c7dfb5a9b7 Reviewed-on: https://go-review.googlesource.com/104116Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Brad Fitzpatrick authored
Fixes #24812 Change-Id: If8d496d61b1120233e44c72d854e80cb06bab970 Reviewed-on: https://go-review.googlesource.com/106657 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Benny Siegert authored
Move the test skip to use testenv.SkipFlaky and link to the Go issue. Update #24826 Change-Id: I7a0ea3325ffcaa790b25f8cdc429fb52e96a41c7 Reviewed-on: https://go-review.googlesource.com/106636Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Michael Hudson-Doyle authored
As the comment above the code I'm changing says, when building with -buildmode=exe, the default compiler flags produce code incompatible with PIE. But when -linkshared is passed, the default compiler flags are not used so this does not apply. And now I've found a system (linux/arm64 with glibc 2.27) where this combination of flags causes a problem, albeit for reasons I don't really understand, so stop passing -no-pie when -linkshared is passed. Change-Id: I412ec7941dc0cb89e6d1b171fc29288aadcb9f20 Reviewed-on: https://go-review.googlesource.com/104815 Run-TryBot: Michael Hudson-Doyle <michael.hudson@canonical.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
fraenkel authored
Fixes #24692 Change-Id: I14058cd3968d08fbcfc275f1b13b6dba9e3c5068 Reviewed-on: https://go-review.googlesource.com/106535 Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
- 11 Apr, 2018 16 commits
-
-
Josh Bleecher Snyder authored
I was wrong. There was a need to loop here. Fixes #24761 Change-Id: If13b3ab72febde930bdaebdddd1c05e0d0446020 Reviewed-on: https://go-review.googlesource.com/105615 Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Matthew Dempsky authored
The standard library has plenty of polished encoder/decoder implementations. No need for another ad-hoc one. I considered using encoding/gob instead, but these strings go into the package data part of the object file, so it's important they don't contain "\n$$\n". Package json escapes newlines in strings, so it's safe to use here. Change-Id: I998655524ccee7365c2c8e9a843e6975e95a3e62 Reviewed-on: https://go-review.googlesource.com/106463 Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Brad Fitzpatrick authored
And fix the nacl implementation. Fixes #24710 Change-Id: I31ffeea03a72dac5021ffb183fde31e9ffd060ad Reviewed-on: https://go-review.googlesource.com/106464Reviewed-by: Ian Lance Taylor <iant@golang.org> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Elias Naur authored
CL 106096 changed the iOS exec wrapper to directly run the binary without waiting for a SIGINT signal, but did so in a way that expects a "(lldb)" response from lldb in 2 seconds. Lldb might not out output anything until the program finishes, so change the exec wrapper to just fire and forget the the run command and go straight to waiting for exit, successfully or otherwise. Change-Id: I6a2dc63f9b29fe44edb3591afb048b9a8e2e0822 Reviewed-on: https://go-review.googlesource.com/106176 Run-TryBot: Elias Naur <elias.naur@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Robert Griesemer authored
A raw string containing newlines breaks whatever columns structure has been established so far. Recognize the situation and force a new section of alignment with the first line break seen after the the raw string. Applied gofmt to src and misc. Fixes #9064. Change-Id: I961e94b529b1fd421908311f366b113e2ec9b7f0 Reviewed-on: https://go-review.googlesource.com/105040Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Robert Griesemer authored
The file ordering.go referred to in the comment was removed with commit dd448957. There's no duplicate use of the deps field anymore. Change-Id: Ia6490e9f0839d4f755e8063758819e29b3d3b248 Reviewed-on: https://go-review.googlesource.com/106459Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-
Ian Lance Taylor authored
Fixes #20348 Change-Id: I831aeeee8e20d55b3e47dea67786e883b213cd58 Reviewed-on: https://go-review.googlesource.com/106457 Run-TryBot: Ian Lance Taylor <iant@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Reviewed-by: Aram Hăvărneanu <aram@mgk.ro> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
bontequero authored
Fixes golint warning about comment on exported function. Change-Id: Ia6a910e2dca2cd31d8de64419e36add6191e804d Reviewed-on: https://go-review.googlesource.com/105495Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Yann Hodique authored
Presumably each line in the descriptor should match the corresponding operation. Change-Id: I7726befcd62147324764d15c26e737357122be51 GitHub-Last-Rev: 85e610e3045950b8688a7a506b37a2a92ac7445c GitHub-Pull-Request: golang/go#24807 Reviewed-on: https://go-review.googlesource.com/106355Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Eric Rykwalder authored
The previous implementation would return "sql: Rows are closed" for any context errors, which can be confusing for context timeouts or cancelations. Fixes #24431 Change-Id: I884904ec43204c43f4e94e2335b2802aab77a888 Reviewed-on: https://go-review.googlesource.com/104276Reviewed-by: Daniel Theophanes <kardianos@gmail.com> Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
-
Daniel Theophanes authored
It wasn't clear for existing docs if DB.Close forcefully closed connections or waited for them to finish. Fixes #23753 Change-Id: Id7df31224c93181c8d01bab7b0b23da25b42a288 Reviewed-on: https://go-review.googlesource.com/103397Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
-
Bryan C. Mills authored
The process reading the output of the binary may read stderr and stdout separately, and may interleave reads from the two streams arbitrarily. Because we explicitly serialize writes on the writer side, we can reuse a timestamp within a single stream without losing information; however, if we use the same timestamp for write on both streams, the reader can't tell how to interleave them. This change ensures that every time we change between the two fds, we also bump the timestamp. That way, writes within a stream continue to show the same timestamp, but a sorted merge of the contents of the two streams always interleaves them in the correct order. This still requires a corresponding change to the Playground parser to actually reconstruct the correct interleaving. It currently merges the two streams without reordering them; it should instead buffer them separately and perform a sorted merge. (See https://golang.org/cl/105496.) Updates golang/go#24615. Updates golang/go#24659. Change-Id: Id789dfcc02eb4247906c9ddad38dac50cf829979 Reviewed-on: https://go-review.googlesource.com/105235 Run-TryBot: Bryan C. Mills <bcmills@google.com> Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Yury Smolsky <yury@smolsky.by> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Cherry Zhang authored
Mac otool and llvm-objdump distinguishes a Mach-O section is text or data by looking at S_ATTR_PURE_INSTRUCTIONS bit. Without this bit it thinks our function symbols are data, not functions. Set this bit for text section to make otool/objdump happy. Fixes #24706. Change-Id: I5236482cb9a72474c23fbea0f35d5b5cc8491ea4 Reviewed-on: https://go-review.googlesource.com/105256 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
Nick Patavalis authored
If NewFile is called with a file descriptor that is already set to non-blocking mode, it tries to return a pollable file (one for which SetDeadline methods work) by adding the filedes to the poll/netpoll mechanism. If called with a filedes in blocking mode, it returns a non-pollable file, as it always did. Fixes #22939 Updates #24331 Change-Id: Id54c8be1b83e6d35e14e76d7df0e57a9fd64e176 Reviewed-on: https://go-review.googlesource.com/100077 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-
David Chase authored
When a neither of a conditional block's successors follows, the block must end with a conditional branch followed by a an unconditional branch. If the (conditional) branch is "unlikely", invert it and swap successors to make it likely instead. This doesn't matter to most benchmarks on amd64, but in one instance on amd64 it caused a 30% improvement, and it is otherwise harmless. The problematic loop is for i := 0; i < w; i++ { if pw[i] != 0 { return true } } compiled under GOEXPERIMENT=preemptibleloops This the very worst-case benchmark for that experiment. Also in this CL is a commoning up of heavily-repeated boilerplate, which made it much easier to see that the changes were applied correctly. In the future this should allow un-exporting of SSAGenState.Branches once the boilerplate-replacement is done everywhere. Change-Id: I0e5ded6eeb3ab1e3e0138e12d54c7e056bd99335 Reviewed-on: https://go-review.googlesource.com/104977 Run-TryBot: David Chase <drchase@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Cherry Zhang <cherryyz@google.com>
-
Robert Griesemer authored
Change-Id: I804d5ab111e33bd2c2554e2bac75b5273b0b4160 Reviewed-on: https://go-review.googlesource.com/106121 Run-TryBot: Robert Griesemer <gri@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
-