1. 04 Dec, 2018 11 commits
  2. 03 Dec, 2018 10 commits
  3. 02 Dec, 2018 2 commits
  4. 01 Dec, 2018 6 commits
  5. 30 Nov, 2018 10 commits
  6. 29 Nov, 2018 1 commit
    • Keith Randall's avatar
      cmd/compile: eliminate write barriers when writing non-heap ptrs · 2140975e
      Keith Randall authored
      We don't need a write barrier if:
      1) The location we're writing to doesn't hold a heap pointer, and
      2) The value we're writing isn't a heap pointer.
      
      The freshly returned value from runtime.newobject satisfies (1).
      Pointers to globals, and the contents of the read-only data section satisfy (2).
      
      This is particularly helpful for code like:
      p := []string{"abc", "def", "ghi"}
      
      Where the compiler generates:
         a := new([3]string)
         move(a, statictmp_)  // eliminates write barriers here
         p := a[:]
      
      For big slice literals, this makes the code a smaller and faster to
      compile.
      
      Update #13554. Reduces the compile time by ~10% and RSS by ~30%.
      
      Change-Id: Icab81db7591c8777f68e5d528abd48c7e44c87eb
      Reviewed-on: https://go-review.googlesource.com/c/151498
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarAustin Clements <austin@google.com>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      2140975e