1. 13 Mar, 2019 2 commits
  2. 12 Mar, 2019 26 commits
  3. 11 Mar, 2019 12 commits
    • Leon Klingele's avatar
      net/http: add missing error checks in tests · 62bfa69e
      Leon Klingele authored
      Change-Id: I73441ba2eb349f0e0f25068e6b24c74dd33f1456
      GitHub-Last-Rev: b9e6705962b94af3b1b720cc9ad6d33d7d3f1425
      GitHub-Pull-Request: golang/go#30017
      Reviewed-on: https://go-review.googlesource.com/c/go/+/160441Reviewed-by: default avatarEmmanuel Odeke <emm.odeke@gmail.com>
      Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      62bfa69e
    • Josh Bleecher Snyder's avatar
      cmd/compile: make deadcode pass cheaper · c9ccdf1f
      Josh Bleecher Snyder authored
      The deadcode pass runs a lot.
      I'd like it to run even more.
      
      This change adds dedicated storage for deadcode to ssa.Cache.
      In addition to being a nice win now, it makes
      deadcode easier to add other places in the future.
      
      name        old time/op       new time/op       delta
      Template          210ms ± 3%        209ms ± 2%    ~     (p=0.951 n=93+95)
      Unicode          92.2ms ± 3%       93.0ms ± 3%  +0.87%  (p=0.000 n=94+94)
      GoTypes           739ms ± 2%        733ms ± 2%  -0.84%  (p=0.000 n=92+94)
      Compiler          3.51s ± 2%        3.49s ± 2%  -0.57%  (p=0.000 n=94+91)
      SSA               9.80s ± 2%        9.75s ± 2%  -0.57%  (p=0.000 n=95+92)
      Flate             132ms ± 2%        132ms ± 3%    ~     (p=0.165 n=94+98)
      GoParser          160ms ± 3%        159ms ± 3%  -0.42%  (p=0.005 n=96+94)
      Reflect           446ms ± 4%        442ms ± 4%  -0.91%  (p=0.000 n=95+98)
      Tar               186ms ± 3%        186ms ± 2%    ~     (p=0.221 n=94+97)
      XML               252ms ± 2%        250ms ± 2%  -0.55%  (p=0.000 n=95+94)
      [Geo mean]        430ms             429ms       -0.34%
      
      name        old user-time/op  new user-time/op  delta
      Template          256ms ± 3%        257ms ± 3%    ~     (p=0.521 n=94+98)
      Unicode           120ms ± 9%        121ms ± 9%    ~     (p=0.074 n=99+100)
      GoTypes           935ms ± 3%        935ms ± 2%    ~     (p=0.574 n=82+96)
      Compiler          4.56s ± 1%        4.55s ± 2%    ~     (p=0.247 n=88+90)
      SSA               13.6s ± 2%        13.6s ± 1%    ~     (p=0.277 n=94+95)
      Flate             155ms ± 3%        156ms ± 3%    ~     (p=0.181 n=95+100)
      GoParser          193ms ± 8%        184ms ± 6%  -4.39%  (p=0.000 n=100+89)
      Reflect           549ms ± 3%        552ms ± 3%  +0.45%  (p=0.036 n=94+96)
      Tar               230ms ± 4%        230ms ± 4%    ~     (p=0.670 n=97+99)
      XML               315ms ± 5%        309ms ±12%  -2.05%  (p=0.000 n=99+99)
      [Geo mean]        540ms             538ms       -0.47%
      
      name        old alloc/op      new alloc/op      delta
      Template         40.3MB ± 0%       38.9MB ± 0%  -3.36%  (p=0.008 n=5+5)
      Unicode          28.6MB ± 0%       28.4MB ± 0%  -0.90%  (p=0.008 n=5+5)
      GoTypes           137MB ± 0%        132MB ± 0%  -3.65%  (p=0.008 n=5+5)
      Compiler          637MB ± 0%        609MB ± 0%  -4.40%  (p=0.008 n=5+5)
      SSA              2.19GB ± 0%       2.07GB ± 0%  -5.63%  (p=0.008 n=5+5)
      Flate            25.0MB ± 0%       24.1MB ± 0%  -3.80%  (p=0.008 n=5+5)
      GoParser         30.0MB ± 0%       29.1MB ± 0%  -3.17%  (p=0.008 n=5+5)
      Reflect          87.1MB ± 0%       84.4MB ± 0%  -3.05%  (p=0.008 n=5+5)
      Tar              37.3MB ± 0%       36.0MB ± 0%  -3.31%  (p=0.008 n=5+5)
      XML              49.8MB ± 0%       48.0MB ± 0%  -3.69%  (p=0.008 n=5+5)
      [Geo mean]       87.6MB            84.6MB       -3.50%
      
      name        old allocs/op     new allocs/op     delta
      Template           387k ± 0%         380k ± 0%  -1.76%  (p=0.008 n=5+5)
      Unicode            342k ± 0%         341k ± 0%  -0.31%  (p=0.008 n=5+5)
      GoTypes           1.39M ± 0%        1.37M ± 0%  -1.64%  (p=0.008 n=5+5)
      Compiler          5.68M ± 0%        5.60M ± 0%  -1.41%  (p=0.008 n=5+5)
      SSA               17.1M ± 0%        16.8M ± 0%  -1.49%  (p=0.008 n=5+5)
      Flate              240k ± 0%         236k ± 0%  -1.99%  (p=0.008 n=5+5)
      GoParser           309k ± 0%         304k ± 0%  -1.57%  (p=0.008 n=5+5)
      Reflect           1.01M ± 0%        0.99M ± 0%  -2.69%  (p=0.008 n=5+5)
      Tar                360k ± 0%         353k ± 0%  -1.91%  (p=0.008 n=5+5)
      XML                447k ± 0%         441k ± 0%  -1.26%  (p=0.008 n=5+5)
      [Geo mean]         858k              844k       -1.60%
      
      Fixes #15306
      
      Change-Id: I9f558adb911efddead3865542fe2ca71f66fe1da
      Reviewed-on: https://go-review.googlesource.com/c/go/+/166718
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      c9ccdf1f
    • Elias Naur's avatar
      misc/android: copy less from GOROOT to the device · 810809eb
      Elias Naur authored
      The android emulator builders is running out of space after CL 165797
      copied most of GOROOT to the device.
      The pkg directory is by far the largest, so only include what seems
      necessary to build the x/ repositories: pkg/android_$GOARCH and
      pkg/tool/android_$GOARCH.
      
      While here, rename the device root directory to match the exec
      wrapper name and make sure the deferred cleanups actually run before
      os.Exit.
      
      Hopefully fixes the emulator builders.
      
      Updates #23824
      
      Change-Id: I4d1e3ab2c89fd1e5818503d323ddb87f073094da
      Reviewed-on: https://go-review.googlesource.com/c/go/+/166397
      Run-TryBot: Elias Naur <mail@eliasnaur.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      810809eb
    • Bryan C. Mills's avatar
      cmd/go: change the default value of GO111MODULE to 'on' · cf469165
      Bryan C. Mills authored
      Fixes #30228
      
      Change-Id: Ie45ba6483849b843eb6605272f686b9deffe5e48
      Reviewed-on: https://go-review.googlesource.com/c/go/+/162698Reviewed-by: default avatarJay Conrod <jayconrod@google.com>
      cf469165
    • Bryan C. Mills's avatar
      all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' · c5cf6624
      Bryan C. Mills authored
      This also updates the vendored-in versions of several packages: 'go
      mod vendor' selects a consistent version of each module, but we had
      previously vendored an ad-hoc selection of packages.
      
      Notably, x/crypto/hkdf was previously vendored in at a much newer
      commit than the rest of x/crypto. Bringing the rest of x/crypto up to
      that commit introduced an import of golang.org/x/sys/cpu, which broke
      the js/wasm build, requiring an upgrade of x/sys to pick up CL 165749.
      
      Updates #30228
      Updates #30241
      Updates #25822
      
      Change-Id: I5b3dbc232b7e6a048a158cbd8d36137af1efb711
      Reviewed-on: https://go-review.googlesource.com/c/go/+/164623Reviewed-by: default avatarFilippo Valsorda <filippo@golang.org>
      c5cf6624
    • Bryan C. Mills's avatar
      cmd,std: add go.mod files · 0fc89a72
      Bryan C. Mills authored
      Updates #30241
      Updates #30228
      
      Change-Id: Ida0fe8263bf44e0498fed2048e22283ba5716835
      Reviewed-on: https://go-review.googlesource.com/c/go/+/164622
      Run-TryBot: Bryan C. Mills <bcmills@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarJay Conrod <jayconrod@google.com>
      0fc89a72
    • Bryan C. Mills's avatar
      cmd: refresh cmd/vendor to match 'go mod vendor' · 756a69c6
      Bryan C. Mills authored
      This change preserves the maximum versions from cmd/vendor/vendor.json
      where feasible, but bumps the versions of x/sys (for CL 162987) and
      x/tools (for CL 162989 and CL 160837) so that 'go test all' passes in
      module mode when run from a working directory in src/cmd.
      
      A small change to cmd/vet (not vendored) was necessary to preserve its
      flag behavior given a pristine copy of x/tools; see CL 162989 for more
      detail.
      
      This change was generated by running 'go mod vendor' at CL 164622.
      (Welcoooome to the fuuuuuture!)
      
      Updates #30228
      Updates #30241
      
      Change-Id: I889590318dc857d4a6e20c3023d09a27128d8255
      Reviewed-on: https://go-review.googlesource.com/c/go/+/164618
      Run-TryBot: Bryan C. Mills <bcmills@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarJay Conrod <jayconrod@google.com>
      756a69c6
    • Keith Randall's avatar
      test: fix memcombine tests · 486ca37b
      Keith Randall authored
      Two tests (load_le_byte8_uint64_inv and load_be_byte8_uint64)
      pass but the generated code isn't actually correct.
      
      The test regexp provides a false negative, as it matches the
      MOVQ (SP), BP instruction in the epilogue.
      
      Combined loads never worked for these cases - the test was added in error
      as part of a batch and not noticed because of the above false match.
      
      Normalize the amd64/386 tests to always negative match on narrower
      loads and OR.
      
      Change-Id: I256861924774d39db0e65723866c81df5ab5076f
      Reviewed-on: https://go-review.googlesource.com/c/go/+/166837
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      486ca37b
    • Emmanuel T Odeke's avatar
      testing: enable examples on js/wasm with non os.Pipe runExample · ac56baa0
      Emmanuel T Odeke authored
      os.Pipe is not implemented on wasm/js so for that purpose use
      a temporary file for js/wasm. This change creates two versions
      of runExample:
      
      * runExample verbatim that still uses os.Pipe for non js/wasm
      * runExample that uses a temporary file
      
      Also added a TODO to re-unify these function versions back into
      example.go wasm/js gets an os.Pipe implementation.
      
      Change-Id: I9f418a49b2c397e1667724c7442b7bbe8942225e
      Reviewed-on: https://go-review.googlesource.com/c/go/+/165357
      Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
      ac56baa0
    • Josh Bleecher Snyder's avatar
      cmd/compile: teach rulegen to |-expand multiple |s in a single op · 48d3c32b
      Josh Bleecher Snyder authored
      I want to be able to write
      
      MOV(Q|Q|L|L|L|W|W|B)loadidx(1|8|1|4|8|1|2|1)
      
      instead of
      
      MOV(Qloadidx1|Qloadidx8|Lloadidx1|Lloadidx4|Lloadidx8|Wloadidx1|Wloadidx2|Bloadidx1)
      
      in rewrite rules.
      
      Both are fairly cryptic and hard to review, but the former
      is at least compact, which helps to not obscure the structure
      of the rest of the rule.
      
      Support that by adjusting rulegen's expansion.
      
      Instead of looking for an op that begins with "(", ends with " ",
      and has exactly one set of parens in it, look for everything of the
      form "(...|...)".
      
      That has false positives: Go code in the && conditions and AuxInt expressions.
      Those are easily checked for syntactically: && conditions are between && and ->,
      and AuxInt expressions are inside square brackets.
      After ruling out those false positives, we can keep everything else,
      regardless of where it is.
      
      No change to the generated code for existing rules.
      
      Change-Id: I5b70a190e268989504f53cb2cce2f9a50170d8a2
      Reviewed-on: https://go-review.googlesource.com/c/go/+/166737
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarCherry Zhang <cherryyz@google.com>
      48d3c32b
    • Josh Bleecher Snyder's avatar
      cmd/compile: add scale field to SSA Ops · 07b4b4a1
      Josh Bleecher Snyder authored
      Refactoring only.
      
      This makes it easier to add ops
      that do indexed memory loads/stores.
      
      Passes toolstash-check.
      
      Change-Id: I82df0d4154718577ec42106fa1bc76571bf65096
      Reviewed-on: https://go-review.googlesource.com/c/go/+/166425
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      07b4b4a1
    • Josh Bleecher Snyder's avatar
      cmd/compile: normalize more whitespace in rewrite rules · b4fbd291
      Josh Bleecher Snyder authored
      If you write a rewrite rule:
      
      (something) && noteRule("X")-> (something)
      
      then rulegen will panic with an error message about commutativity.
      The real problem is the lack of a space between the ) and the ->.
      Normalize that bit of whitespace too.
      
      Change-Id: Idbd53687cd0398fe275ff2702667688cad05b4ca
      Reviewed-on: https://go-review.googlesource.com/c/go/+/166427
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      b4fbd291