1. 12 Oct, 2016 20 commits
  2. 11 Oct, 2016 18 commits
  3. 10 Oct, 2016 2 commits
    • Russ Cox's avatar
      math/big: make division faster · 3a907282
      Russ Cox authored
      - Add new BenchmarkQuoRem.
      - Eliminate allocation in divLarge nat pool
      - Unroll mulAddVWW body 4x
      - Remove some redundant slice loads in divLarge
      
      name      old time/op  new time/op  delta
      QuoRem-8  2.18µs ± 1%  1.93µs ± 1%  -11.38%  (p=0.000 n=19+18)
      
      The starting point in the comparison here is Cherry's
      pending CL to turn mulWW and divWW into intrinsics.
      The optimizations in divLarge work best because all
      the function calls are gone. The effect of this CL is not
      as large if you don't assume Cherry's CL.
      
      Change-Id: Ia6138907489c5b9168497912e43705634e163b35
      Reviewed-on: https://go-review.googlesource.com/30613
      Run-TryBot: Russ Cox <rsc@golang.org>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      3a907282
    • Cherry Zhang's avatar
      cmd/compile: remove some write barriers for stack writes · 68331750
      Cherry Zhang authored
      This, along with CL 30140, removes ~50% of stack write barriers
      mentioned in issue #17330. The remaining are most due to Phi and
      FwdRef, which is not resolved when building SSA. We might be
      able to do it at a later stage where Phi and Copy propagations
      are done, but matching an if-(store-store-call)+ sequence seems
      not very pleasant.
      
      Updates #17330.
      
      Change-Id: Iaa36c7b1f4c4fc3dc10a27018a3b0e261094cb21
      Reviewed-on: https://go-review.googlesource.com/30290
      Run-TryBot: Cherry Zhang <cherryyz@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarDavid Chase <drchase@google.com>
      68331750