1. 06 Nov, 2019 2 commits
  2. 05 Nov, 2019 34 commits
  3. 04 Nov, 2019 4 commits
    • Michael Anthony Knyszek's avatar
      runtime: clean up power-of-two rounding code with align functions · 383b447e
      Michael Anthony Knyszek authored
      This change renames the "round" function to the more appropriately named
      "alignUp" which rounds an integer up to the next multiple of a power of
      two.
      
      This change also adds the alignDown function, which is almost like
      alignUp but rounds down to the previous multiple of a power of two.
      
      With these two functions, we also go and replace manual rounding code
      with it where we can.
      
      Change-Id: Ie1487366280484dcb2662972b01b4f7135f72fec
      Reviewed-on: https://go-review.googlesource.com/c/go/+/190618Reviewed-by: default avatarAustin Clements <austin@google.com>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      383b447e
    • Brad Fitzpatrick's avatar
      net/http: support disabling built-in HTTP/2 with a new build tag · 2566e21f
      Brad Fitzpatrick authored
      Fixes #35082
      Updates #6853
      
      Change-Id: I4eeb0e15f534cff57fefb6039cd33fadf15b946e
      Reviewed-on: https://go-review.googlesource.com/c/go/+/205139Reviewed-by: default avatarEmmanuel Odeke <emm.odeke@gmail.com>
      Reviewed-by: default avatarDavid Crawshaw <crawshaw@golang.org>
      2566e21f
    • Michael Knyszek's avatar
      runtime: place lower limit on trigger ratio · 74af7fc6
      Michael Knyszek authored
      This change makes it so that the GC pacer's trigger ratio can never fall
      below 0.6. Upcoming changes to the allocator make it significantly more
      scalable and thus much faster in certain cases, creating a large gap
      between the performance of allocation and scanning. The consequence of
      this is that the trigger ratio can drop very low (0.07 was observed) in
      order to drop GC utilization. A low trigger ratio like this results in a
      high amount of black allocations, which causes the live heap to appear
      larger, and thus the heap, and RSS, grows to a much higher stable point.
      
      This change alleviates the problem by placing a lower bound on the
      trigger ratio. The expected (and confirmed) effect of this is that
      utilization in certain scenarios will no longer converge to the expected
      25%, and may go higher. As a result of this artificially high trigger
      ratio, more time will also be spent doing GC assists compared to
      dedicated mark workers, since the GC will be on for an artifically short
      fraction of time (artificial with respect to the pacer). The biggest
      concern of this change is that allocation latency will suffer as a
      result, since there will now be more assists. But, upcoming changes to
      the allocator reduce the latency enough to outweigh the expected
      increase in latency from this change, without the blowup in RSS observed
      from the changes to the allocator.
      
      Updates #35112.
      
      Change-Id: Idd7c94fa974d0de673304c4397e716e89bfbf09b
      Reviewed-on: https://go-review.googlesource.com/c/go/+/200439Reviewed-by: default avatarAustin Clements <austin@google.com>
      74af7fc6
    • Richard Musiol's avatar
      syscall/js: garbage collect references to JavaScript values · 54e6ba67
      Richard Musiol authored
      The js.Value struct now contains a pointer, so a finalizer can
      determine if the value is not referenced by Go any more.
      
      Unfortunately this breaks Go's == operator with js.Value. This change
      adds a new Equal method to check for the equality of two Values.
      This is a breaking change. The == operator is now disallowed to
      not silently break code.
      
      Additionally the helper methods IsUndefined, IsNull and IsNaN got added.
      
      Fixes #35111
      
      Change-Id: I58a50ca18f477bf51a259c668a8ba15bfa76c955
      Reviewed-on: https://go-review.googlesource.com/c/go/+/203600
      Run-TryBot: Richard Musiol <neelance@gmail.com>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      54e6ba67