1. 15 Aug, 2016 4 commits
  2. 08 Aug, 2016 3 commits
    • Chris Broadfoot's avatar
      go1.7rc6 · 1e933ed7
      Chris Broadfoot authored
      Change-Id: Ie76b5af0ecc4c64c523110b44483c06e7031237c
      Reviewed-on: https://go-review.googlesource.com/25582Reviewed-by: 's avatarChris Broadfoot <cbro@golang.org>
      1e933ed7
    • Chris Broadfoot's avatar
      all: merge master into release-branch.go1.7 · 78d024a5
      Chris Broadfoot authored
      7a622740 net/http: make Transport use new connection if over HTTP/2 concurrency limit
      219ca602 doc: fix required OS X version inconsistency for binary downloads
      26015b95 runtime: make stack 16-byte aligned for external code in _rt0_amd64_linux_lib
      9fde86b0 runtime, syscall: fix kernel gettimeofday ABI change on iOS 10
      3a03e877 os: check for waitid returning ENOSYS
      10316757 net/http: update bundled http2 for flow control window adjustment fix
      da070bed syscall: fix Gettimeofday on macOS Sierra
      f135c326 runtime: initialize hash algs before typemap
      
      Change-Id: Ie176f3db1e253d75ae8e56b16d3fd9900b37dde3
      78d024a5
    • Brad Fitzpatrick's avatar
      net/http: make Transport use new connection if over HTTP/2 concurrency limit · 7a622740
      Brad Fitzpatrick authored
      The Go HTTP/1 client will make as many new TCP connections as the user requests.
      
      The HTTP/2 client tried to have that behavior, but the policy of
      whether a connection is re-usable didn't take into account the extra 1
      stream counting against SETTINGS_MAX_CONCURRENT_STREAMS so in practice
      users were getting errors.
      
      For example, if the server's advertised max concurrent streams is 100
      and 200 concurrrent Go HTTP requests ask for a connection at once, all
      200 will think they can reuse that TCP connection, but then 100 will
      fail later when the number of concurrent streams exceeds 100.
      
      Instead, recognize the "no cached connections" error value in the
      shouldRetryRequest method, so those 100 will retry a new connection.
      
      This is the conservative fix for Go 1.7 so users don't get errors, and
      to match the HTTP/1 behavior. Issues #13957 and #13774 are the more
      involved bugs for Go 1.8.
      
      Updates #16582
      Updates #13957
      
      Change-Id: I1f15a7ce60c07a4baebca87675836d6fe03993e8
      Reviewed-on: https://go-review.googlesource.com/25580
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      Reviewed-by: 's avatarChris Broadfoot <cbro@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      7a622740
  3. 06 Aug, 2016 1 commit
  4. 05 Aug, 2016 4 commits
  5. 04 Aug, 2016 2 commits
    • Brad Fitzpatrick's avatar
      syscall: fix Gettimeofday on macOS Sierra · da070bed
      Brad Fitzpatrick authored
      Fixes #16606
      
      Change-Id: I57465061b90e901293cd8b6ef756d6aa84ebd4a3
      Reviewed-on: https://go-review.googlesource.com/25495Reviewed-by: 's avatarQuentin Smith <quentin@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Quentin Smith <quentin@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      da070bed
    • David Crawshaw's avatar
      runtime: initialize hash algs before typemap · f135c326
      David Crawshaw authored
      When compiling with -buildmode=shared, a map[int32]*_type is created for
      each extra module mapping duplicate types back to a canonical object.
      This is done in the function typelinksinit, which is called before the
      init function that sets up the hash functions for the map
      implementation. The result is typemap becomes unusable after
      runtime initialization.
      
      The fix in this CL is to move algorithm init before typelinksinit in
      the runtime setup process. (For 1.8, we may want to turn typemap into
      a sorted slice of types and use binary search.)
      
      Manually tested on GOOS=linux with:
      
      	GOHOSTARCH=386 GOARCH=386 ./make.bash && \
      		go install -buildmode=shared std && \
      		cd ../test && \
      		go run run.go -linkshared
      
      Fixes #16590
      
      Change-Id: Idc08c50cc70d20028276fbf564509d2cd5405210
      Reviewed-on: https://go-review.googlesource.com/25469
      Run-TryBot: David Crawshaw <crawshaw@golang.org>
      Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      f135c326
  6. 02 Aug, 2016 12 commits
  7. 29 Jul, 2016 1 commit
    • Cherry Zhang's avatar
      cmd/compile: fix possible spill of invalid pointer with DUFFZERO on AMD64 · 111d590f
      Cherry Zhang authored
      SSA compiler on AMD64 may spill Duff-adjusted address as scalar. If
      the object is on stack and the stack moves, the spilled address become
      invalid.
      
      Making the spill pointer-typed does not work. The Duff-adjusted address
      points to the memory before the area to be zeroed and may be invalid.
      This may cause stack scanning code panic.
      
      Fix it by doing Duff-adjustment in genValue, so the intermediate value
      is not seen by the reg allocator, and will not be spilled.
      
      Add a test to cover both cases. As it depends on allocation, it may
      be not always triggered.
      
      Fixes #16515.
      
      Change-Id: Ia81d60204782de7405b7046165ad063384ede0db
      Reviewed-on: https://go-review.googlesource.com/25309
      Run-TryBot: Cherry Zhang <cherryyz@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarDavid Chase <drchase@google.com>
      111d590f
  8. 28 Jul, 2016 1 commit
  9. 27 Jul, 2016 2 commits
    • Rhys Hiltner's avatar
      runtime: reduce GC assist extra credit · ccca9c9c
      Rhys Hiltner authored
      Mutator goroutines that allocate memory during the concurrent mark
      phase are required to spend some time assisting the garbage
      collector. The magnitude of this mandatory assistance is proportional
      to the goroutine's allocation debt and subject to the assistance
      ratio as calculated by the pacer.
      
      When assisting the garbage collector, a mutator goroutine will go
      beyond paying off its allocation debt. It will build up extra credit
      to amortize the overhead of the assist.
      
      In fast-allocating applications with high assist ratios, building up
      this credit can take the affected goroutine's entire time slice.
      Reduce the penalty on each goroutine being selected to assist the GC
      in two ways, to spread the responsibility more evenly.
      
      First, do a consistent amount of extra scan work without regard for
      the pacer's assistance ratio. Second, reduce the magnitude of the
      extra scan work so it can be completed within a few hundred
      microseconds.
      
      Commentary on gcOverAssistWork is by Austin Clements, originally in
      https://golang.org/cl/24704
      
      Updates #14812
      Fixes #16432
      
      Change-Id: I436f899e778c20daa314f3e9f0e2a1bbd53b43e1
      Reviewed-on: https://go-review.googlesource.com/25155
      Run-TryBot: Austin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarAustin Clements <austin@google.com>
      Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
      Reviewed-by: 's avatarChris Broadfoot <cbro@golang.org>
      ccca9c9c
    • Brad Fitzpatrick's avatar
      net/http: fix data race with concurrent use of Server.Serve · c80e0d37
      Brad Fitzpatrick authored
      Fixes #16505
      
      Change-Id: I0afabcc8b1be3a5dbee59946b0c44d4c00a28d71
      Reviewed-on: https://go-review.googlesource.com/25280
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarChris Broadfoot <cbro@golang.org>
      c80e0d37
  10. 26 Jul, 2016 7 commits
  11. 25 Jul, 2016 1 commit
  12. 22 Jul, 2016 1 commit
  13. 21 Jul, 2016 1 commit