1. 04 Sep, 2016 4 commits
  2. 03 Sep, 2016 2 commits
  3. 02 Sep, 2016 12 commits
  4. 01 Sep, 2016 11 commits
  5. 31 Aug, 2016 11 commits
    • Joe Tsai's avatar
      archive/tar: make Reader error handling consistent · cd0ba4c1
      Joe Tsai authored
      The tar.Reader guarantees stickiness of errors. Ensuring this property means
      that the methods of Reader need to be consistent about whose responsibility it
      is to actually ensure that errors are sticky.
      
      In this CL, we make it only the responsibility of the exported methods
      (Next and Read) to store tr.err. All other methods just return the error as is.
      
      As part of this change, we also check the error value of mergePAX (and test
      that it properly detects invalid PAX files). Since the value of mergePAX was
      never used before, we change it such that it always returns ErrHeader instead
      of strconv.SyntaxError. This keeps it consistent with other usages of strconv
      in the same tar package.
      
      Change-Id: Ia1c31da71f1de4c175da89a385dec665d3edd167
      Reviewed-on: https://go-review.googlesource.com/28215
      Run-TryBot: Joe Tsai <thebrokentoaster@gmail.com>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      cd0ba4c1
    • Rob Pike's avatar
      doc/faq: explain the meaning of "runtime" · d1a19235
      Rob Pike authored
      This truly is a common point of confusion that deserves
      explanation in the FAQ.
      
      Change-Id: Ie624e31a2042ca99626fe7570d9c8c075aae6a84
      Reviewed-on: https://go-review.googlesource.com/28275Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      d1a19235
    • Joe Tsai's avatar
      Revert "runtime: improve memmove for amd64" · 6fb4b15f
      Joe Tsai authored
      This reverts commit 3607c5f4.
      
      This was causing failures on amd64 machines without AVX.
      
      Fixes #16939
      
      Change-Id: I70080fbb4e7ae791857334f2bffd847d08cb25fa
      Reviewed-on: https://go-review.googlesource.com/28274Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      6fb4b15f
    • Keith Randall's avatar
      cmd/compile: don't reserve X15 for float sub/div any more · cc0248ae
      Keith Randall authored
      We used to reserve X15 to implement the 3-operand floating-point
      sub/div ops with the 2-operand sub/div that 386/amd64 gives us.
      
      Now that resultInArg0 is implemented, we no longer need to
      reserve X15 (X7 on 386).
      
      Fixes #15584
      
      Change-Id: I978e6c0a35236e89641bfc027538cede66004e82
      Reviewed-on: https://go-review.googlesource.com/28272
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarDavid Chase <drchase@google.com>
      cc0248ae
    • Keith Randall's avatar
      cmd/compile: print SizeAndAlign AuxInt values correctly · 33bb597d
      Keith Randall authored
      Makes the AuxInt arg to Move/Zero print in a readable format.
      
      Change-Id: I12295959b00ff7c1638d35836cc6d64d112c11ca
      Reviewed-on: https://go-review.googlesource.com/28271
      Run-TryBot: Keith Randall <khr@golang.org>
      Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      33bb597d
    • Martin Möhrmann's avatar
      cmd/compile: fold negation into comparison operators · 00459f05
      Martin Möhrmann authored
      This allows for example AMD64 ssa to generate
      (SETNE x) instead of (XORLconst [1] SETE).
      
      make.bash trigger count on AMD64:
      691 generic.rules:225
        1 generic.rules:226
        4 generic.rules:228
        1 generic.rules:229
        8 generic.rules:231
        6 generic.rules:238
        2 generic.rules:257
      
      Change-Id: I5b9827b2df63c8532675079e5a6026aa47bfd8dc
      Reviewed-on: https://go-review.googlesource.com/28232
      Run-TryBot: Martin Möhrmann <martisch@uos.de>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      00459f05
    • Matthew Dempsky's avatar
      cmd/compile: handle pragmas immediately with -newparser=1 · ee161e85
      Matthew Dempsky authored
      Instead of saving all pragmas and processing them after parsing is
      finished, process them immediately during scanning like the current
      lexer does.
      
      This is a bit unfortunate because it means we can't use
      syntax.ParseFile to concurrently parse files yet, but it fixes how we
      report syntax errors in the presence of //line pragmas.
      
      While here, add a bunch more gcCompat entries to syntax/parser.go to
      get "go build -toolexec='toolstash -cmp' std cmd" passing. There are
      still a few remaining cases only triggered building unit tests, but
      this seems like a nice checkpoint.
      
      Change-Id: Iaf3bbcf2849857a460496f31eea228e0c585ce13
      Reviewed-on: https://go-review.googlesource.com/28226
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      ee161e85
    • Edward Muller's avatar
      doc: update go tour installation instructions · 69e7e8a6
      Edward Muller authored
      Fixes #16933
      
      Change-Id: I2054abd28bc555b018309934774fc4ecc44826b3
      Reviewed-on: https://go-review.googlesource.com/28217Reviewed-by: 's avatarEmmanuel Odeke <emm.odeke@gmail.com>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      69e7e8a6
    • Kevin Burke's avatar
      runtime: fix typo · ffa2bd27
      Kevin Burke authored
      Change-Id: I47e3cfa8b49e3d0b55c91387df31488b37038a8f
      Reviewed-on: https://go-review.googlesource.com/28225Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      ffa2bd27
    • Denis Nagorny's avatar
      runtime: improve memmove for amd64 · 3607c5f4
      Denis Nagorny authored
      Use AVX if available on 4th generation of Intel(TM) Core(TM) processors.
      
      (collected on E5 2609v3 @1.9GHz)
      name                        old speed      new speed       delta
      Memmove/1-6                  158MB/s ± 0%    172MB/s ± 0%    +9.09% (p=0.000 n=16+16)
      Memmove/2-6                  316MB/s ± 0%    345MB/s ± 0%    +9.09% (p=0.000 n=18+16)
      Memmove/3-6                  517MB/s ± 0%    517MB/s ± 0%      ~ (p=0.445 n=16+16)
      Memmove/4-6                  687MB/s ± 1%    690MB/s ± 0%    +0.35% (p=0.000 n=20+17)
      Memmove/5-6                  729MB/s ± 0%    729MB/s ± 0%    +0.01% (p=0.000 n=16+18)
      Memmove/6-6                  875MB/s ± 0%    875MB/s ± 0%    +0.01% (p=0.000 n=18+18)
      Memmove/7-6                 1.02GB/s ± 0%   1.02GB/s ± 1%      ~ (p=0.139 n=19+20)
      Memmove/8-6                 1.26GB/s ± 0%   1.26GB/s ± 0%    +0.00% (p=0.000 n=18+18)
      Memmove/9-6                 1.42GB/s ± 0%   1.42GB/s ± 0%    +0.00% (p=0.000 n=17+18)
      Memmove/10-6                1.58GB/s ± 0%   1.58GB/s ± 0%    +0.00% (p=0.000 n=19+19)
      Memmove/11-6                1.74GB/s ± 0%   1.74GB/s ± 0%    +0.00% (p=0.001 n=18+17)
      Memmove/12-6                1.90GB/s ± 0%   1.90GB/s ± 0%    +0.00% (p=0.000 n=19+19)
      Memmove/13-6                2.05GB/s ± 0%   2.05GB/s ± 0%    +0.00% (p=0.000 n=18+19)
      Memmove/14-6                2.21GB/s ± 0%   2.21GB/s ± 0%    +0.00% (p=0.000 n=16+20)
      Memmove/15-6                2.37GB/s ± 0%   2.37GB/s ± 0%    +0.00% (p=0.004 n=19+20)
      Memmove/16-6                2.53GB/s ± 0%   2.53GB/s ± 0%    +0.00% (p=0.000 n=16+16)
      Memmove/32-6                4.67GB/s ± 0%   4.67GB/s ± 0%    +0.00% (p=0.000 n=17+17)
      Memmove/64-6                8.67GB/s ± 0%   8.64GB/s ± 0%    -0.33% (p=0.000 n=18+17)
      Memmove/128-6               12.6GB/s ± 0%   11.6GB/s ± 0%    -8.05% (p=0.000 n=16+19)
      Memmove/256-6               16.3GB/s ± 0%   16.6GB/s ± 0%    +1.66% (p=0.000 n=20+18)
      Memmove/512-6               21.5GB/s ± 0%   24.4GB/s ± 0%   +13.35% (p=0.000 n=18+17)
      Memmove/1024-6              24.7GB/s ± 0%   33.7GB/s ± 0%   +36.12% (p=0.000 n=18+18)
      Memmove/2048-6              27.3GB/s ± 0%   43.3GB/s ± 0%   +58.77% (p=0.000 n=19+17)
      Memmove/4096-6              37.5GB/s ± 0%   50.5GB/s ± 0%   +34.56% (p=0.000 n=19+19)
      MemmoveUnalignedDst/1-6      135MB/s ± 0%    146MB/s ± 0%    +7.69% (p=0.000 n=16+14)
      MemmoveUnalignedDst/2-6      271MB/s ± 0%    292MB/s ± 0%    +7.69% (p=0.000 n=18+18)
      MemmoveUnalignedDst/3-6      438MB/s ± 0%    438MB/s ± 0%      ~ (p=0.352 n=16+19)
      MemmoveUnalignedDst/4-6      584MB/s ± 0%    584MB/s ± 0%      ~ (p=0.876 n=17+17)
      MemmoveUnalignedDst/5-6      631MB/s ± 1%    632MB/s ± 0%    +0.25% (p=0.000 n=20+17)
      MemmoveUnalignedDst/6-6      759MB/s ± 0%    759MB/s ± 0%    +0.00% (p=0.000 n=19+16)
      MemmoveUnalignedDst/7-6      885MB/s ± 0%    883MB/s ± 1%      ~ (p=0.647 n=18+20)
      MemmoveUnalignedDst/8-6     1.08GB/s ± 0%   1.08GB/s ± 0%    +0.00% (p=0.035 n=19+18)
      MemmoveUnalignedDst/9-6     1.22GB/s ± 0%   1.22GB/s ± 0%      ~ (p=0.251 n=18+17)
      MemmoveUnalignedDst/10-6    1.35GB/s ± 0%   1.35GB/s ± 0%      ~ (p=0.327 n=17+18)
      MemmoveUnalignedDst/11-6    1.49GB/s ± 0%   1.49GB/s ± 0%      ~ (p=0.531 n=18+19)
      MemmoveUnalignedDst/12-6    1.63GB/s ± 0%   1.63GB/s ± 0%      ~ (p=0.886 n=19+18)
      MemmoveUnalignedDst/13-6    1.76GB/s ± 0%   1.76GB/s ± 1%    -0.24% (p=0.006 n=18+20)
      MemmoveUnalignedDst/14-6    1.90GB/s ± 0%   1.90GB/s ± 0%      ~ (p=0.818 n=20+19)
      MemmoveUnalignedDst/15-6    2.03GB/s ± 0%   2.03GB/s ± 0%      ~ (p=0.294 n=17+16)
      MemmoveUnalignedDst/16-6    2.17GB/s ± 0%   2.17GB/s ± 0%      ~ (p=0.602 n=16+18)
      MemmoveUnalignedDst/32-6    4.05GB/s ± 0%   4.05GB/s ± 0%    +0.00% (p=0.010 n=18+17)
      MemmoveUnalignedDst/64-6    7.59GB/s ± 0%   7.59GB/s ± 0%    +0.00% (p=0.022 n=18+16)
      MemmoveUnalignedDst/128-6   11.1GB/s ± 0%   11.4GB/s ± 0%    +2.79% (p=0.000 n=18+17)
      MemmoveUnalignedDst/256-6   16.4GB/s ± 0%   16.7GB/s ± 0%    +1.59% (p=0.000 n=20+17)
      MemmoveUnalignedDst/512-6   15.7GB/s ± 0%   21.3GB/s ± 0%   +35.87% (p=0.000 n=18+20)
      MemmoveUnalignedDst/1024-6  16.0GB/s ±20%   31.5GB/s ± 0%   +96.93% (p=0.000 n=20+14)
      MemmoveUnalignedDst/2048-6  19.6GB/s ± 0%   42.1GB/s ± 0%  +115.16% (p=0.000 n=17+18)
      MemmoveUnalignedDst/4096-6  6.41GB/s ± 0%  33.18GB/s ± 0%  +417.56% (p=0.000 n=17+18)
      MemmoveUnalignedSrc/1-6      171MB/s ± 0%    166MB/s ± 0%    -3.33% (p=0.000 n=19+16)
      MemmoveUnalignedSrc/2-6      343MB/s ± 0%    342MB/s ± 1%    -0.41% (p=0.000 n=17+20)
      MemmoveUnalignedSrc/3-6      508MB/s ± 0%    493MB/s ± 1%    -2.90% (p=0.000 n=17+17)
      MemmoveUnalignedSrc/4-6      677MB/s ± 0%    660MB/s ± 2%    -2.55% (p=0.000 n=17+20)
      MemmoveUnalignedSrc/5-6      790MB/s ± 0%    790MB/s ± 0%      ~ (p=0.139 n=17+17)
      MemmoveUnalignedSrc/6-6      948MB/s ± 0%    946MB/s ± 1%      ~ (p=0.330 n=17+19)
      MemmoveUnalignedSrc/7-6     1.11GB/s ± 0%   1.11GB/s ± 0%    -0.05% (p=0.026 n=17+17)
      MemmoveUnalignedSrc/8-6     1.38GB/s ± 0%   1.38GB/s ± 0%      ~ (p=0.091 n=18+16)
      MemmoveUnalignedSrc/9-6     1.42GB/s ± 0%   1.40GB/s ± 1%    -1.04% (p=0.000 n=19+20)
      MemmoveUnalignedSrc/10-6    1.58GB/s ± 0%   1.56GB/s ± 1%    -1.15% (p=0.000 n=18+19)
      MemmoveUnalignedSrc/11-6    1.73GB/s ± 0%   1.71GB/s ± 1%    -1.30% (p=0.000 n=20+20)
      MemmoveUnalignedSrc/12-6    1.89GB/s ± 0%   1.87GB/s ± 1%    -1.18% (p=0.000 n=17+20)
      MemmoveUnalignedSrc/13-6    2.05GB/s ± 0%   2.02GB/s ± 1%    -1.18% (p=0.000 n=17+20)
      MemmoveUnalignedSrc/14-6    2.21GB/s ± 0%   2.18GB/s ± 1%    -1.14% (p=0.000 n=17+20)
      MemmoveUnalignedSrc/15-6    2.36GB/s ± 0%   2.34GB/s ± 1%    -1.04% (p=0.000 n=17+20)
      MemmoveUnalignedSrc/16-6    2.52GB/s ± 0%   2.49GB/s ± 1%    -1.26% (p=0.000 n=19+20)
      MemmoveUnalignedSrc/32-6    4.82GB/s ± 0%   4.61GB/s ± 0%    -4.40% (p=0.000 n=19+20)
      MemmoveUnalignedSrc/64-6    5.03GB/s ± 4%   7.97GB/s ± 0%   +58.55% (p=0.000 n=20+16)
      MemmoveUnalignedSrc/128-6   11.1GB/s ± 0%   11.2GB/s ± 0%    +0.52% (p=0.000 n=17+18)
      MemmoveUnalignedSrc/256-6   16.5GB/s ± 0%   16.4GB/s ± 0%    -0.10% (p=0.000 n=20+18)
      MemmoveUnalignedSrc/512-6   21.0GB/s ± 0%   22.1GB/s ± 0%    +5.48% (p=0.000 n=14+17)
      MemmoveUnalignedSrc/1024-6  24.9GB/s ± 0%   31.9GB/s ± 0%   +28.20% (p=0.000 n=19+20)
      MemmoveUnalignedSrc/2048-6  23.3GB/s ± 0%   33.8GB/s ± 0%   +45.22% (p=0.000 n=17+19)
      MemmoveUnalignedSrc/4096-6  37.3GB/s ± 0%   42.7GB/s ± 0%   +14.30% (p=0.000 n=17+17)
      
      Change-Id: Iab488d93a293cdf573ab5cd89b95a818bbb5d531
      Reviewed-on: https://go-review.googlesource.com/22515
      Run-TryBot: Denis Nagorny <denis.nagorny@intel.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      3607c5f4
    • Ilya Tocar's avatar
      cmd/internal/obj/x86: Make VPSHUFD accept negative constant · 04ade8e4
      Ilya Tocar authored
      This partially reverts commit 4e24e1d9.
      Since in release 1.7 VPSHUFD support negative constant as an argument,
      removing it as part of 4e24e1d9 was wrong.
      Add it back.
      
      Change-Id: Id1a3e062fe8fb4cf538edb3f9970f0664f3f545f
      Reviewed-on: https://go-review.googlesource.com/27712
      Run-TryBot: Ilya Tocar <ilya.tocar@intel.com>
      Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      04ade8e4