1. 02 Apr, 2018 1 commit
    • Matthew Dempsky's avatar
      cmd/compile: refactor constant rewriting · 0250ef91
      Matthew Dempsky authored
      Extract all rewrite-to-OLITERAL expressions to use a single setconst
      helper function.
      
      Does not pass toolstash-check for two reasons:
      
      1) We now consistently clear Left/Right/etc when rewriting Nodes into
      OLITERALs, which results in their inlining complexity being correctly
      computed. So more functions can now be inlined.
      
      2) We preserve Pos, so PC line tables change somewhat.
      
      Change-Id: I2b5c293bee7c69c2ccd704677f5aba4ec40e3155
      Reviewed-on: https://go-review.googlesource.com/103860
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarDaniel Martí <mvdan@mvdan.cc>
      0250ef91
  2. 01 Apr, 2018 5 commits
  3. 31 Mar, 2018 5 commits
  4. 30 Mar, 2018 13 commits
  5. 29 Mar, 2018 16 commits
    • Ben Burkert's avatar
      net: map context errors from aborted dial to internal net package errors · 72b0fb51
      Ben Burkert authored
      Map the error returned when a dial is aborted from the context package
      error to the internal net package error. For example, context.Canceled
      errors map to errCanceled, and context.DeadlineExceeded errors map to
      poll.ErrTimeout.
      
      Fixes #23648
      
      Change-Id: Idf9d3d08052d540740c0b054503aaed931dc5b1e
      Reviewed-on: https://go-review.googlesource.com/103518
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      72b0fb51
    • Joe Tsai's avatar
      os: add ModeIrregular flag · dfd7f356
      Joe Tsai authored
      There is currently no way for os.FileMode.IsRegular to report false
      without being one of the following types:
      	ModeDir | ModeSymlink | ModeNamedPipe | ModeSocket | ModeDevice
      
      This makes it difficult for custom implementations of os.FileInfo to return
      a Mode that is explicitly not regular without resorting to setting one
      of the types listed above. However, every one of the aforementioned types
      are ill-suited as a general-purpose "not regular" file type.
      
      Thus, add a ModeIrregular to serve exactly for that purpose.
      The ModeIrregular type carries no information other than the fact that the
      file is not regular.
      
      Updates #22903
      Fixes #23878
      
      Change-Id: I4f34d88f960bcb014816d8e7b5de8b1035077948
      Reviewed-on: https://go-review.googlesource.com/94856Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      dfd7f356
    • Wèi Cōngruì's avatar
      math: fix Ldexp when result is below ldexp(2, -1075) · 4b265fb7
      Wèi Cōngruì authored
      Before this change, the smallest result Ldexp can handle was
      ldexp(2, -1075), which is SmallestNonzeroFloat64.
      There are some numbers below it should also be rounded to
      SmallestNonzeroFloat64. The change fixes this.
      
      Fixes #23407
      
      Change-Id: I76f4cb005a6e9ccdd95b5e5c734079fd5d29e4aa
      Reviewed-on: https://go-review.googlesource.com/87338
      Run-TryBot: Robert Griesemer <gri@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      4b265fb7
    • Ian Lance Taylor's avatar
      regexp/syntax: update perl script to preserve \s behavior · 9967582f
      Ian Lance Taylor authored
      Incorporate https://code-review.googlesource.com/#/c/re2/+/3050/ from
      the re2 repository. Description of that change:
      
          Preserve the original behaviour of \s.
      
          Prior to Perl 5.18, \s did not match vertical tab. Bake that into
          make_perl_groups.pl as an override so that perl_groups.cc retains
          its current definitions when rebuilt with newer versions of Perl.
      
      This fixes make_perl_groups.pl to generate an unchanged perl_groups.go
      with perl versions 5.18 and later.
      
      Fixes #22057
      
      Change-Id: I9a56e9660092ed6c1ff1045b4a3847de355441a7
      Reviewed-on: https://go-review.googlesource.com/103517
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      9967582f
    • Matthew Dempsky's avatar
      cmd/compile: refactor memory op constructors in SSA builder · 64bf9057
      Matthew Dempsky authored
      Pulling these operations out separately so it's easier to add
      instrumentation calls.
      
      Passes toolstash-check.
      
      Updates #19054.
      
      Change-Id: If6a537124a87bac2eceff1d66d9df5ebb3bf07be
      Reviewed-on: https://go-review.googlesource.com/102816Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      Run-TryBot: Cherry Zhang <cherryyz@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      64bf9057
    • Alberto Donizetti's avatar
      test/codegen: match 387 ops too for GOARCH=386 · 56eaf574
      Alberto Donizetti authored
      Change-Id: I99407e27e340689009af798989b33cef7cb92070
      Reviewed-on: https://go-review.googlesource.com/103376
      Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com>
      Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      56eaf574
    • Alberto Donizetti's avatar
      test: avoid touching GOOS/GOARCH in codegen driver · aacf7a18
      Alberto Donizetti authored
      This change modifies the codegen test harness driver so that it no
      longer modifies the environment GOOS/GOARCH, since that seems to cause
      flakiness in other concurrently-running tests.
      
      The change also enables the codegen tests in run.go.
      
      Fixes #24538
      
      Change-Id: I997ac1eb38eb92054efff67fe5c4d3cccc86412b
      Reviewed-on: https://go-review.googlesource.com/103455
      Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      aacf7a18
    • Josh Bleecher Snyder's avatar
      cmd/compile: prefer to evict a rematerializable register · 014a9048
      Josh Bleecher Snyder authored
      This resolves a long-standing regalloc TODO:
      If you must evict a register, choose to evict a register
      containing a rematerializable value, since that value
      won't need to be spilled.
      
      Provides very minor performance and size improvements.
      
      name                     old time/op    new time/op    delta
      BinaryTree17-8              2.20s ± 3%     2.18s ± 2%  -0.77%  (p=0.000 n=45+49)
      Fannkuch11-8                2.14s ± 2%     2.15s ± 2%  +0.73%  (p=0.000 n=43+44)
      FmtFprintfEmpty-8          30.6ns ± 4%    30.2ns ± 3%  -1.14%  (p=0.000 n=50+48)
      FmtFprintfString-8         54.5ns ± 6%    53.6ns ± 5%  -1.64%  (p=0.001 n=50+48)
      FmtFprintfInt-8            58.0ns ± 7%    57.6ns ± 4%    ~     (p=0.220 n=50+50)
      FmtFprintfIntInt-8         85.3ns ± 2%    84.8ns ± 3%  -0.62%  (p=0.001 n=44+47)
      FmtFprintfPrefixedInt-8    93.9ns ± 6%    93.6ns ± 5%    ~     (p=0.706 n=50+48)
      FmtFprintfFloat-8           178ns ± 4%     177ns ± 4%    ~     (p=0.107 n=49+50)
      FmtManyArgs-8               376ns ± 4%     374ns ± 3%  -0.58%  (p=0.013 n=45+50)
      GobDecode-8                4.77ms ± 2%    4.76ms ± 3%    ~     (p=0.059 n=47+46)
      GobEncode-8                4.04ms ± 2%    3.99ms ± 3%  -1.13%  (p=0.000 n=49+49)
      Gzip-8                      177ms ± 2%     180ms ± 3%  +1.43%  (p=0.000 n=48+48)
      Gunzip-8                   28.5ms ± 6%    28.3ms ± 5%    ~     (p=0.104 n=50+49)
      HTTPClientServer-8         72.1µs ± 1%    72.0µs ± 1%  -0.15%  (p=0.042 n=48+42)
      JSONEncode-8               9.81ms ± 5%   10.03ms ± 6%  +2.29%  (p=0.000 n=50+49)
      JSONDecode-8               39.2ms ± 3%    39.3ms ± 2%    ~     (p=0.095 n=49+49)
      Mandelbrot200-8            3.48ms ± 2%    3.46ms ± 2%  -0.80%  (p=0.000 n=47+48)
      GoParse-8                  2.54ms ± 3%    2.51ms ± 3%  -1.35%  (p=0.000 n=49+49)
      RegexpMatchEasy0_32-8      66.0ns ± 7%    65.7ns ± 8%    ~     (p=0.331 n=50+50)
      RegexpMatchEasy0_1K-8       155ns ± 4%     154ns ± 4%    ~     (p=0.986 n=49+50)
      RegexpMatchEasy1_32-8      62.6ns ± 8%    62.2ns ± 5%    ~     (p=0.395 n=50+49)
      RegexpMatchEasy1_1K-8       260ns ± 5%     255ns ± 3%  -1.92%  (p=0.000 n=49+49)
      RegexpMatchMedium_32-8     92.9ns ± 2%    91.8ns ± 2%  -1.25%  (p=0.000 n=46+48)
      RegexpMatchMedium_1K-8     27.7µs ± 3%    27.0µs ± 2%  -2.59%  (p=0.000 n=49+49)
      RegexpMatchHard_32-8       1.23µs ± 4%    1.21µs ± 2%  -2.16%  (p=0.000 n=49+44)
      RegexpMatchHard_1K-8       36.4µs ± 2%    35.7µs ± 2%  -1.87%  (p=0.000 n=48+49)
      Revcomp-8                   274ms ± 2%     276ms ± 3%  +0.70%  (p=0.034 n=45+48)
      Template-8                 45.1ms ± 8%    45.1ms ± 8%    ~     (p=0.643 n=50+50)
      TimeParse-8                 223ns ± 2%     223ns ± 2%    ~     (p=0.401 n=47+47)
      TimeFormat-8                245ns ± 2%     246ns ± 3%    ~     (p=0.758 n=49+50)
      [Geo mean]                 36.5µs         36.3µs       -0.54%
      
      
      name        old object-bytes  new object-bytes  delta
      Template          480kB ± 0%        480kB ± 0%    ~     (all equal)
      Unicode           214kB ± 0%        214kB ± 0%    ~     (all equal)
      GoTypes          1.54MB ± 0%       1.54MB ± 0%  -0.03%  (p=0.008 n=5+5)
      Compiler         5.75MB ± 0%       5.75MB ± 0%    ~     (all equal)
      SSA              14.6MB ± 0%       14.6MB ± 0%  -0.01%  (p=0.008 n=5+5)
      Flate             300kB ± 0%        300kB ± 0%  -0.01%  (p=0.008 n=5+5)
      GoParser          366kB ± 0%        366kB ± 0%    ~     (all equal)
      Reflect          1.20MB ± 0%       1.20MB ± 0%    ~     (all equal)
      Tar               413kB ± 0%        413kB ± 0%    ~     (all equal)
      XML               529kB ± 0%        528kB ± 0%  -0.13%  (p=0.008 n=5+5)
      [Geo mean]        909kB             909kB       -0.02%
      
      
      Change-Id: I46d37a55197683a98913f35801dc2b0d609653c8
      Reviewed-on: https://go-review.googlesource.com/103240
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      014a9048
    • Paul Jolly's avatar
      cmd/go: make generate pass correct GOPACKAGE to XTest files · 5d8d3d52
      Paul Jolly authored
      The existing behaviour of go generate is to pass GOPACKAGE=p
      to all package files, including XTest files. This however is
      incorrect as the package name for the XTest files is p_test.
      
      Fixes #24594
      
      Change-Id: I96b6e5777ec511cdcf1a6267a43f4d8c544c4af3
      Reviewed-on: https://go-review.googlesource.com/103415
      Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      5d8d3d52
    • Hana Kim's avatar
      cmd/trace: make span tables pretty · 3ac17f86
      Hana Kim authored
      Mostly same as golang.org/cl/102156, except the parts that
      deal with different data types.
      
      Change-Id: I061b858b73898725e3bf175ed022c2e3e55fc485
      Reviewed-on: https://go-review.googlesource.com/103158Reviewed-by: 's avatarAndrew Bonventre <andybons@golang.org>
      3ac17f86
    • Ian Lance Taylor's avatar
      cmd/go: don't try to initialize cover profile for go test -c · 9761a162
      Ian Lance Taylor authored
      Using go test -c makes you responsible for managing and merging the
      coverage profile yourself.
      
      Fixes #24588
      
      Change-Id: I2037a91ceb904f9f35d76c7b5e5fae6bcbed4e46
      Reviewed-on: https://go-review.googlesource.com/103395
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      9761a162
    • Samuel Tan's avatar
      html/template: fix lint errors · d29ed92d
      Samuel Tan authored
      Change-Id: If56bd72917a9cbf5920ae8b5a36dc67f10959b94
      Reviewed-on: https://go-review.googlesource.com/103175
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarDaniel Martí <mvdan@mvdan.cc>
      d29ed92d
    • Tobias Klauser's avatar
      runtime: parse auxv for page size on dragonfly · 9364c13d
      Tobias Klauser authored
      Decode AT_PAGESZ to determine physPageSize on dragonfly.
      
      Change-Id: I7236d7cbe43433f16dffddad19c1655bc0c7f31d
      Reviewed-on: https://go-review.googlesource.com/103257
      Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      9364c13d
    • Alberto Donizetti's avatar
      test: update list of escape reasons · 04e993f9
      Alberto Donizetti authored
      The escape_because.go test file (which tests the "because" escape
      explainations printed by `-m -m`) cointains a machine-generated list
      of all the escape reasons seen in the escape tests.
      
      The list appears to be outdated; moreove a new escape reason was added
      in CL 102895. This change re-generates the list.
      
      Change-Id: Idc721c6bbfe9516895b5cf1e6d09b77deda5a3dd
      Reviewed-on: https://go-review.googlesource.com/103375Reviewed-by: 's avatarDavid Chase <drchase@google.com>
      Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      04e993f9
    • Wèi Cōngruì's avatar
      math: handle denormals in AMD64 Exp · 7fe2f549
      Wèi Cōngruì authored
      Fixes #23164
      
      Change-Id: I6e8c6443f3ef91df71e117cce1cfa1faba647dd7
      Reviewed-on: https://go-review.googlesource.com/87337Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      Run-TryBot: Robert Griesemer <gri@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      7fe2f549
    • Eric Lagergren's avatar
      testing: document -race goroutine limits · 4907c62f
      Eric Lagergren authored
      -race sets a hard cap of 8,192, which is easily hit while testing.
      
      Fixes #23611
      
      Change-Id: I0f720ec39c82c2194a485d437d6373f4bdc8a9c1
      Reviewed-on: https://go-review.googlesource.com/103160Reviewed-by: 's avatarRob Pike <r@golang.org>
      4907c62f