1. 10 Mar, 2016 12 commits
  2. 09 Mar, 2016 26 commits
  3. 08 Mar, 2016 2 commits
    • David Crawshaw's avatar
      cmd/compile: remove rtype *uncommonType field · a24b3ed7
      David Crawshaw authored
      Instead of a pointer on every rtype, use a bit flag to indicate that
      the contents of uncommonType directly follows the rtype value when it
      is needed.
      
      This requires a bit of juggling in the compiler's rtype encoder. The
      backing arrays for fields in the rtype are presently encoded directly
      after the slice header. This packing requires separating the encoding
      of the uncommonType slice headers from their backing arrays.
      
      Reduces binary size of godoc by ~180KB (1.5%).
      No measurable change in all.bash time.
      For #6853.
      
      Change-Id: I60205948ceb5c0abba76fdf619652da9c465a597
      Reviewed-on: https://go-review.googlesource.com/19790Reviewed-by: default avatarRuss Cox <rsc@golang.org>
      Run-TryBot: David Crawshaw <crawshaw@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      a24b3ed7
    • David Chase's avatar
      cmd/compile: guard the &-to-<<>> opt against small constants · 0321cabd
      David Chase authored
      Converting an and-K into a pair of shifts for K that will
      fit in a one-byte argument is probably not an optimization,
      and it also interferes with other patterns that we want to
      see fire, like (<< (AND K)) [for small K] and bounds check
      elimination for masked indices.
      
      Turns out that on Intel, even 32-bit signed immediates beat
      the shift pair; the size reduction of tool binaries is 0.09%
      vs 0.07% for only the 8-bit immediates.
      
      RLH found this one working on the new/next GC.
      
      Change-Id: I2414a8de1dd58d680d18587577fbadb7ff4f67d9
      Reviewed-on: https://go-review.googlesource.com/20410Reviewed-by: default avatarKeith Randall <khr@golang.org>
      Run-TryBot: David Chase <drchase@google.com>
      0321cabd