1. 24 Oct, 2016 4 commits
    • Martin Möhrmann's avatar
      cmd/compile: replace ANDL with MOV?ZX · 7ff0c826
      Martin Möhrmann authored
      According to "Intel 64 and IA-32 Architectures Optimization Reference
      Manual" Section: "3.5.1.13 Zero-Latency MOV Instructions"
      MOV?ZX instructions have zero latency on newer processors.
      
      during make.bash:
      (ANDLconst [0xFF] x) -> (MOVBQZX x)
      applies 422 times
      (ANDLconst [0xFFFF] x) -> (MOVWQZX x)
      applies 114 times
      
      Updates #15105
      
      Change-Id: I10933af599de3c26449c52f4b5cd859331028f39
      Reviewed-on: https://go-review.googlesource.com/31639
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarDavid Chase <drchase@google.com>
      Run-TryBot: David Chase <drchase@google.com>
      7ff0c826
    • Alex Brainman's avatar
      runtime/cgo: do not link math lib by default on windows · 9ac60181
      Alex Brainman authored
      Makes windows same as others.
      
      Change-Id: Ib4651e06d0bd37473ac345d36c91f39aa8f5e662
      Reviewed-on: https://go-review.googlesource.com/31791Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      Reviewed-by: default avatarMinux Ma <minux@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      9ac60181
    • Austin Clements's avatar
      runtime: make mspan.isFree do what's on the tin · 3cbfcaa4
      Austin Clements authored
      Currently mspan.isFree technically returns whether the object was not
      allocated *during this cycle*. Fix it so it actually returns whether
      or not the object is allocated so the method is more generally useful
      (especially for debugging).
      
      It has one caller, which is carefully written to be insensitive to
      this distinction, but this lets us simplify this caller.
      
      Change-Id: I9d79cf784a56015e434961733093c1d8d03fc091
      Reviewed-on: https://go-review.googlesource.com/30145
      Run-TryBot: Austin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarRick Hudson <rlh@golang.org>
      3cbfcaa4
    • Austin Clements's avatar
      runtime: make morestack less subtle · bf9c71cb
      Austin Clements authored
      morestack writes the context pointer to gobuf.ctxt, but since
      morestack is written in assembly (and has to be very careful with
      state), it does *not* invoke the requisite write barrier for this
      write. Instead, we patch this up later, in newstack, where we invoke
      an explicit write barrier for ctxt.
      
      This already requires some subtle reasoning, and it's going to get a
      lot hairier with the hybrid barrier.
      
      Fix this by simplifying the whole mechanism. Instead of writing
      gobuf.ctxt in morestack, just pass the value of the context register
      to newstack and let it write it to gobuf.ctxt. This is a normal Go
      pointer write, so it gets the normal Go write barrier. No subtle
      reasoning required.
      
      Updates #17503.
      
      Change-Id: Ia6bf8459bfefc6828f53682ade32c02412e4db63
      Reviewed-on: https://go-review.googlesource.com/31550
      Run-TryBot: Austin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      bf9c71cb
  2. 23 Oct, 2016 2 commits
  3. 22 Oct, 2016 9 commits
  4. 21 Oct, 2016 15 commits
  5. 20 Oct, 2016 10 commits