1. 04 Sep, 2019 1 commit
  2. 03 Sep, 2019 15 commits
  3. 02 Sep, 2019 10 commits
  4. 01 Sep, 2019 10 commits
  5. 31 Aug, 2019 4 commits
    • Brian Kessler's avatar
      cmd/compile: intrinsify RotateLeft32 on wasm · b003afe4
      Brian Kessler authored
      wasm has 32-bit versions of all integer operations. This change
      lowers RotateLeft32 to i32.rotl on wasm and intrinsifies the math/bits
      call.  Benchmarking on amd64 under node.js this is ~25% faster.
      
      node v10.15.3/amd64
      name          old time/op  new time/op  delta
      RotateLeft    8.37ns ± 1%  8.28ns ± 0%   -1.05%  (p=0.029 n=4+4)
      RotateLeft8   11.9ns ± 1%  11.8ns ± 0%     ~     (p=0.167 n=5+5)
      RotateLeft16  11.8ns ± 0%  11.8ns ± 0%     ~     (all equal)
      RotateLeft32  11.9ns ± 1%   8.7ns ± 0%  -26.32%  (p=0.008 n=5+5)
      RotateLeft64  8.31ns ± 1%  8.43ns ± 2%     ~     (p=0.063 n=5+5)
      
      Updates #31265
      
      Change-Id: I5b8e155978faeea536c4f6427ac9564d2f096a46
      Reviewed-on: https://go-review.googlesource.com/c/go/+/182359
      Run-TryBot: Brian Kessler <brian.m.kessler@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarRichard Musiol <neelance@gmail.com>
      b003afe4
    • LE Manh Cuong's avatar
      cmd/link: set .dynsym info field · 12dbd20a
      LE Manh Cuong authored
      .dynsym section info field is the index of first non-local symbol, mean
      the number of local symbols.
      
      The go linker have never ever set it before, so just set it.
      
      Fixes #33358
      
      Change-Id: Ifde2deb7c15471b04d565861f5d81daffb0c0d3d
      Reviewed-on: https://go-review.googlesource.com/c/go/+/187979
      Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      12dbd20a
    • Jason A. Donenfeld's avatar
      ld: ensure that PE versions sync for internal and external linkage · c96d794f
      Jason A. Donenfeld authored
      Previously users who opted into cgo might have received a bit of a
      behavior surprise when their mingw installation defaulted to a
      potentially older and different set of compatibility hacks. Since Go is
      explicitly targeting >=6.1 for internal linkage, propagate these changes
      to external linkage too.
      
      While we're at it, we move these values into constant variables so that
      they don't become out of sync and allow for easy updating as Go
      gradually drops compatibility for older operating systems.
      
      Change-Id: I41e654d135be6e3db9088e73efeb414933e36caa
      Reviewed-on: https://go-review.googlesource.com/c/go/+/191842Reviewed-by: default avatarAlex Brainman <alex.brainman@gmail.com>
      c96d794f
    • Jason A. Donenfeld's avatar
      ld: mark PE executables as terminal services aware · 8fc35238
      Jason A. Donenfeld authored
      This has been the default in MSVC for a very long time, and it's hard to
      imagine modern programs actually wanting the old legacy behavior. For
      example, no modern programs try to install their junk into C:\windows
      and therefore need to have an emulated writable windows directory.
      That's not really even allowed by ACLs on modern systems.
      
      Change-Id: Iadaca6815e39ea5c6b05c1cac5a95cfc35e5b48a
      Reviewed-on: https://go-review.googlesource.com/c/go/+/191840
      Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarAlex Brainman <alex.brainman@gmail.com>
      8fc35238