1. 30 Sep, 2016 7 commits
    • Alberto Donizetti's avatar
      cmd/compile: delete unused Convconst function · 41fa42b4
      Alberto Donizetti authored
      Convconst is not used in the new backend, and all its callers
      were deleted in CL 29168 (cmd/compile: delete lots of the legacy
      backend). iconv was an helper function for Convconst.
      
      Updates #16357
      
      Change-Id: I65c7345586d7af81cdc2fb09c68f744ffb161a17
      Reviewed-on: https://go-review.googlesource.com/30090Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      41fa42b4
    • Brad Fitzpatrick's avatar
      net/http: update bundled http2, add h2 Transport.IdleConnTimeout tests · 893d6866
      Brad Fitzpatrick authored
      Updates bundled http2 to x/net git rev a333c53 for:
      
         http2: add Transport support for IdleConnTimeout
         https://golang.org/cl/30075
      
      And add tests.
      
      The bundled http2 also includes a change adding a Ping method to
      http2.ClientConn, but that type isn't exposed in the standard
      library. Nevertheless, the code gets compiled and adds a dependency on
      "crypto/rand", requiring an update to go/build's dependency
      test. Because net/http already depends on crypto/tls, which uses
      crypto/rand, it's not really a new dependency.
      
      Fixes #16808
      
      Change-Id: I1ec8666ea74762f27c70a6f30a366a6647f923f7
      Reviewed-on: https://go-review.googlesource.com/30078
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      893d6866
    • David Crawshaw's avatar
      runtime: remove defer from standard cgo call · 44150215
      David Crawshaw authored
      The endcgo function call is currently deferred in case a cgo
      callback into Go panics and unwinds through cgocall. Typical cgo
      calls do not have callbacks into Go, and even fewer panic, so we
      pay the cost of this defer for no typical benefit.
      
      Amazingly, there is another defer on the cgocallback path also used
      to cleanup in case the Go code called by cgo panics. This CL folds
      the first defer into the second, to reduce the cost of typical cgo
      calls.
      
      This reduces the overhead for a no-op cgo call significantly:
      
      	name       old time/op  new time/op  delta
      	CgoNoop-8  93.5ns ± 0%  51.1ns ± 1%  -45.34%  (p=0.016 n=4+5)
      
      The total effect between Go 1.7 and 1.8 is even greater, as CL 29656
      reduced the cost of defer recently. Hopefully a future Go release
      will drop the cost of defer to nothing, making this optimization
      unnecessary. But until then, this is nice.
      
      Change-Id: Id1a5648f687a87001d95bec6842e4054bd20ee4f
      Reviewed-on: https://go-review.googlesource.com/30080
      Run-TryBot: David Crawshaw <crawshaw@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      44150215
    • Matthew Dempsky's avatar
      runtime, syscall: use FP instead of SP for parameters · 9828b7c4
      Matthew Dempsky authored
      Consistently access function parameters using the FP pseudo-register
      instead of SP (e.g., x+0(FP) instead of x+4(SP) or x+8(SP), depending
      on register size). Two reasons: 1) doc/asm says the SP pseudo-register
      should use negative offsets in the range [-framesize, 0), and 2)
      cmd/vet only validates parameter offsets when indexed from the FP
      pseudo-register.
      
      No binary changes to the compiled object files for any of the affected
      package/OS/arch combinations.
      
      Change-Id: I0efc6079bc7519fcea588c114ec6a39b245d68b0
      Reviewed-on: https://go-review.googlesource.com/30085Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      9828b7c4
    • Matthew Dempsky's avatar
      cmd/compile: eliminate stkdelta · 79db1625
      Matthew Dempsky authored
      At this point in the compiler we haven't assigned Xoffset values for
      PAUTO variables anyway, so just immediately store the stack offsets
      into Xoffset rather than into a global map.
      
      Change-Id: I61eb471c857c8b145fd0895cbd98fd4e8d3c3365
      Reviewed-on: https://go-review.googlesource.com/30081
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      79db1625
    • Matthew Dempsky's avatar
      cmd/compile: split Addrconst out of Naddr · bb2bbfa0
      Matthew Dempsky authored
      There are only three Prog types that we were creating with an OLITERAL
      Node: ATEXT, ATYPE, and AFUNCDATA. ATEXT's value we later overwrite in
      defframe, and ATYPE's we don't even need. AFUNCDATA only needs integer
      constants, so get rid of all the non-int constant logic and skip
      creating a Node representation for the constant.
      
      While here, there are a few other Naddr code paths that are no longer
      needed, so turn those into Fatalfs.
      
      Passes toolstash/buildall.
      
      Change-Id: I4cc9b92c3011890afd4f31ebeba8b1b42b753cab
      Reviewed-on: https://go-review.googlesource.com/30074
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      bb2bbfa0
    • Brad Fitzpatrick's avatar
      net/http: remove TODO about the Server's base context · 214bf680
      Brad Fitzpatrick authored
      I decided not to expand the API for this per discusion on #16220.
      
      Fixes #16220
      
      Change-Id: I65cb2eacd4ec28c79438a8f7c30024524a484ce6
      Reviewed-on: https://go-review.googlesource.com/30082Reviewed-by: 's avatarDaniel Theophanes <kardianos@gmail.com>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      214bf680
  2. 29 Sep, 2016 17 commits
  3. 28 Sep, 2016 8 commits
  4. 27 Sep, 2016 8 commits