1. 15 Jun, 2016 1 commit
    • Austin Clements's avatar
      [dev.garbage] runtime: separate spans of noscan objects · d491e550
      Austin Clements authored
      Currently, we mix objects with pointers and objects without pointers
      ("noscan" objects) together in memory. As a result, for every object
      we grey, we have to check that object's heap bits to find out if it's
      noscan, which adds to the per-object cost of GC. This also hurts the
      TLB footprint of the garbage collector because it decreases the
      density of scannable objects at the page level.
      
      This commit improves the situation by using separate spans for noscan
      objects. This will allow a much simpler noscan check (in a follow up
      CL), eliminate the need to clear the bitmap of noscan objects (in a
      follow up CL), and improves TLB footprint by increasing the density of
      scannable objects.
      
      This is also a step toward eliminating dead bits, since the current
      noscan check depends on checking the dead bit of the first word.
      
      This has no effect on the heap size of the garbage benchmark.
      
      We'll measure the performance change of this after the follow-up
      optimizations.
      
      Change-Id: I13bdc4869538ece5649a8d2a41c6605371618e40
      Reviewed-on: https://go-review.googlesource.com/23700Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
      d491e550
  2. 06 Jun, 2016 1 commit
  3. 05 Jun, 2016 1 commit
  4. 03 Jun, 2016 15 commits
  5. 02 Jun, 2016 19 commits
  6. 01 Jun, 2016 3 commits
    • Andrew Gerrand's avatar
      api: update next.txt · d7ae8b3c
      Andrew Gerrand authored
      Change-Id: I04da6a56382d3bd96e3c849a022618553039b2db
      Reviewed-on: https://go-review.googlesource.com/23651Reviewed-by: 's avatarChris Broadfoot <cbro@golang.org>
      d7ae8b3c
    • Adam Langley's avatar
      crypto/tls: buffer handshake messages. · 2a8c81ff
      Adam Langley authored
      This change causes TLS handshake messages to be buffered and written in
      a single Write to the underlying net.Conn.
      
      There are two reasons to want to do this:
      
      Firstly, it's slightly preferable to do this in order to save sending
      several, small packets over the network where a single one will do.
      
      Secondly, since 37c28759 errors from
      Write have been returned from a handshake. This means that, if a peer
      closes the connection during a handshake, a “broken pipe” error may
      result from tls.Conn.Handshake(). This can mask any, more detailed,
      fatal alerts that the peer may have sent because a read will never
      happen.
      
      Buffering handshake messages means that the peer will not receive, and
      possibly reject, any of a flow while it's still being written.
      
      Fixes #15709
      
      Change-Id: I38dcff1abecc06e52b2de647ea98713ce0fb9a21
      Reviewed-on: https://go-review.googlesource.com/23609Reviewed-by: 's avatarAndrew Gerrand <adg@golang.org>
      Run-TryBot: Andrew Gerrand <adg@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      2a8c81ff
    • Tom Bergan's avatar
      net/http: update bundled http2 · f6c02419
      Tom Bergan authored
      Updates x/net/http2 to git rev 6bdd4be4 for CL 23526:
      
        http2: GotFirstResponseByte hook should only fire once
      
      Also updated the trace hooks test to verify that all trace hooks are called
      exactly once except ConnectStart/End, which may be called multiple times (due
      to happy-eyeballs).
      
      Fixes #15777
      
      Change-Id: Iea5c64eb322b58be27f9ff863b3a6f90e996fa9b
      Reviewed-on: https://go-review.googlesource.com/23527Reviewed-by: 's avatarAndrew Gerrand <adg@golang.org>
      f6c02419