1. 26 Jun, 2018 8 commits
  2. 25 Jun, 2018 10 commits
  3. 24 Jun, 2018 1 commit
  4. 23 Jun, 2018 1 commit
  5. 22 Jun, 2018 13 commits
  6. 21 Jun, 2018 7 commits
    • Matthew Dempsky's avatar
      cmd/compile: fix recursive inimport handling · 011ea879
      Matthew Dempsky authored
      expandDecl can be called recursively, so it's not an appropriate place
      to clean inimport. Instead, move this up to resolve, along with an
      appropriate recursion check.
      
      Passes toolstash-check.
      
      Change-Id: I138d37b057dcc6525c780b4b3fbaa5e97f99655b
      Reviewed-on: https://go-review.googlesource.com/120455
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarRobert Griesemer <gri@golang.org>
      011ea879
    • Terin Stock's avatar
      flag: add a Value example · 6c810027
      Terin Stock authored
      Change-Id: I579cc9f4f8e5be5fd6447a99614797ab7bc53611
      Reviewed-on: https://go-review.googlesource.com/120175
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      6c810027
    • Paul Jolly's avatar
      misc/wasm: fix permissions on wasm_exec.js · 4b342899
      Paul Jolly authored
      Currently wasm_exec.js is executable (0755) yet has no interpreter.
      Indeed wasm_exec.js is only ever used as an argument to Node or loaded
      via a <script> tag in a browser-loaded HTML file.  Hence the execute
      mode bits are superfluous and simply serve to clutter your PATH if
      $GOROOT/misc/wasm is on your PATH (as is required if you want to run go
      test syscall/js).
      
      Change-Id: I279e2457094f8a12b9bf380ad7f1a9f47b22fc96
      Reviewed-on: https://go-review.googlesource.com/120435
      Run-TryBot: Paul Jolly <paul@myitcv.org.uk>
      Reviewed-by: default avatarDaniel Martí <mvdan@mvdan.cc>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      4b342899
    • Andrei Tudor Călin's avatar
      internal/poll: use more fine-grained locking in Splice · 24fb2e01
      Andrei Tudor Călin authored
      The previous code acquired a read lock on src and a write lock on
      dst for the entire duration of Splice. This resulted in deadlock,
      in a situation akin to the following:
      
      Splice is blocking, waiting to read from src.
      
      The caller tries to close dst from another goroutine, but Close on
      dst blocks in runtime.semacquire, because Splice is still holding a
      write lock on it, and the Close didn't unblock any I/O.
      
      The caller cannot unblock the read side of Splice through other means,
      because they are stuck waiting in dst.Close().
      
      Use more fine-grained locking instead: acquire the read lock on src
      just before trying to splice from the source socket to the pipe,
      and acquire the write lock on dst just before trying to splice from
      the pipe to the destination socket.
      
      Fixes #25985
      
      Change-Id: I264c91c7a69bb6c5e28610e2bd801244804cf86d
      Reviewed-on: https://go-review.googlesource.com/120317
      Run-TryBot: Aram Hăvărneanu <aram@mgk.ro>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      24fb2e01
    • Ian Lance Taylor's avatar
      cmd/go: re-enable a couple of tests of gccgo · 1507502f
      Ian Lance Taylor authored
      Updates #22472
      
      Change-Id: I526d131f2ef8e0200f7a5634c75b31e0ee083f93
      Reviewed-on: https://go-review.googlesource.com/120375
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      1507502f
    • Wei Xiao's avatar
      cmd/compile: improve atomic add intrinsics with ARMv8.1 new instruction · 0a7ac93c
      Wei Xiao authored
      ARMv8.1 has added new instruction (LDADDAL) for atomic memory operations. This
      CL improves existing atomic add intrinsics with the new instruction. Since the
      new instruction is only guaranteed to be present after ARMv8.1, we guard its
      usage with a conditional on CPU feature.
      
      Performance result on ARMv8.1 machine:
      name        old time/op  new time/op  delta
      Xadd-224    1.05µs ± 6%  0.02µs ± 4%  -98.06%  (p=0.000 n=10+8)
      Xadd64-224  1.05µs ± 3%  0.02µs ±13%  -98.10%  (p=0.000 n=9+10)
      [Geo mean]  1.05µs       0.02µs       -98.08%
      
      Performance result on ARMv8.0 machine:
      name        old time/op  new time/op  delta
      Xadd-46      538ns ± 1%   541ns ± 1%  +0.62%  (p=0.000 n=9+9)
      Xadd64-46    505ns ± 1%   508ns ± 0%  +0.48%  (p=0.003 n=9+8)
      [Geo mean]   521ns        524ns       +0.55%
      
      Change-Id: If4b5d8d0e2d6f84fe1492a4f5de0789910ad0ee9
      Reviewed-on: https://go-review.googlesource.com/81877
      Run-TryBot: Cherry Zhang <cherryyz@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      0a7ac93c
    • Emmanuel T Odeke's avatar
      net/http: avoid deferred unlock in ServeMux.shouldRedirect · 1988b3ed
      Emmanuel T Odeke authored
      CL 96575 introduced concurrency protection for
      ServeMux.shouldRedirect with a read lock and deferred unlock.
      However, the change produced a noticeable regression.
      Instead add the suffix "RLocked" to the function name to
      declare that we should hold the read lock as a pre-requisite
      before calling it, hence avoiding the defer altogether.
      
      Benchmarks:
      name                  old time/op    new time/op    delta
      ServeMux-8              63.3µs ± 0%    54.6µs ± 0%  -13.74%  (p=0.000 n=9+9)
      ServeMux_SkipServe-8    41.4µs ± 2%    32.7µs ± 1%  -21.05%  (p=0.000 n=10+10)
      
      name                  old alloc/op   new alloc/op   delta
      ServeMux-8              17.3kB ± 0%    17.3kB ± 0%     ~     (all equal)
      ServeMux_SkipServe-8     0.00B          0.00B          ~     (all equal)
      
      name                  old allocs/op  new allocs/op  delta
      ServeMux-8                 360 ± 0%       360 ± 0%     ~     (all equal)
      ServeMux_SkipServe-8      0.00           0.00          ~     (all equal)
      
      Updates #25383
      Updates #25482
      
      Change-Id: I2ffa4eafe165faa961ce23bd29b5653a89facbc2
      Reviewed-on: https://go-review.googlesource.com/113996
      Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      1988b3ed