1. 05 Mar, 2016 4 commits
  2. 04 Mar, 2016 27 commits
  3. 03 Mar, 2016 9 commits
    • Ian Lance Taylor's avatar
      cmd/compile: convert cgen/gen/pgen and friends to nodeListSeq · bf390982
      Ian Lance Taylor authored
      Added Seq method to nodeListIterator. Added new functions nodeSeqLen,
      nodeSeqFirst, nodeSeqSecond. Allow nil as source argument to setNodeSeq.
      
      Change-Id: Ifc1cd4d7207b7a125b3830c92c4d6d6f00eedd54
      Reviewed-on: https://go-review.googlesource.com/20195Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      bf390982
    • Ian Lance Taylor's avatar
      cmd/compile: add setNodeSeq, and use it in bimport.go · ca56c590
      Ian Lance Taylor authored
      Also rewrite bexport.go to use nodeSeqIterate.
      
      The new setNodeSeq is a transitional generic function to set either a
      NodeList or a slice to either a NodeList or a slice.  This should permit
      us to flip fields from *NodeList to []*Node, or Nodes, without changing
      other code.
      
      Passes toolstash -cmp.
      
      Change-Id: I872cbfe45bc5f432595737c1f6da641c502b1ab6
      Reviewed-on: https://go-review.googlesource.com/20194Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      ca56c590
    • David du Colombier's avatar
      cmd/compile: don't use duffcopy and duffzero on Plan 9 · d55a099e
      David du Colombier authored
      The ssa compiler uses the duffcopy and duffzero functions,
      which rely on the MOVUPS instructions.
      
      However, this doesn't work on Plan 9, since floating point
      operations are not allowed in the note handler.
      
      This change disables the use of duffcopy and duffzero
      on Plan 9 in the ssa compiler.
      
      Updates #14605.
      
      Change-Id: I017f8ff83de00eabaf7e146b4344a863db1dfddc
      Reviewed-on: https://go-review.googlesource.com/20171Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      Run-TryBot: David du Colombier <0intro@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      d55a099e
    • Ian Lance Taylor's avatar
      cmd/compile: add nodeSeqIterator interface · 466c948b
      Ian Lance Taylor authored
      I tried to write a program to convert *NodeList to Node, but ran into
      too many problem cases.  I'm backing off and trying a more iterative
      approach using interfaces.
      
      This CL adds an interface for iteration over either a *NodeList or a
      Nodes.  I changed typechecklist to use it, to show how it works.  After
      NodeList is eliminated, we can change the typechecklist parameter type
      to Nodes.
      
      Passes toolstash -cmp.
      
      Change-Id: I5c7593714b020d20868b99151b1e7cadbbdbc397
      Reviewed-on: https://go-review.googlesource.com/20190
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      466c948b
    • David Crawshaw's avatar
      cmd/link: combine all string data into one symbol · 0c84c4f1
      David Crawshaw authored
      This CL introduces a mergestrings pass after the reachability
      analysis to combine all reachable go.string."..." character data
      symbols into a single symbol.
      
      Shrinks juju by 1.2mb (1.5%).
      Shrinks cmd/go by 0.5% when building without DWARF.
      No noticable effect on linker speed.
      
      Change-Id: I2ba3e60bf418f65766bda257f6ca9eea26d895b6
      Reviewed-on: https://go-review.googlesource.com/20165
      Run-TryBot: David Crawshaw <crawshaw@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      0c84c4f1
    • Ian Lance Taylor's avatar
      cmd/compile: remove listsort · 7e92c86d
      Ian Lance Taylor authored
      The listsort function is no longer used, except in a test.  Change the
      test to use sort.Sort instead.
      
      Change-Id: Ib634705cc1bc3b1d8fc3795bd4ed2894e6abc284
      Reviewed-on: https://go-review.googlesource.com/19964Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      7e92c86d
    • Keith Randall's avatar
      cmd/compile: make compilation deterministic, fixes toolstash · 686fbdb3
      Keith Randall authored
      Make sure we don't depend on map iterator order.
      
      Fixes #14600
      
      Change-Id: Iac0e0c8689f3ace7a4dc8e2127e2fd3c8545bd29
      Reviewed-on: https://go-review.googlesource.com/20158
      Run-TryBot: Keith Randall <khr@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      686fbdb3
    • Keith Randall's avatar
      cmd/compile: load some live values into registers before loop · c03ed491
      Keith Randall authored
      If we're about to enter a loop, load values which are live
      and will soon be used in the loop into registers.
      
      name                     old time/op    new time/op    delta
      BinaryTree17-8              2.80s ± 4%     2.62s ± 2%   -6.43%          (p=0.008 n=5+5)
      Fannkuch11-8                2.45s ± 2%     2.14s ± 1%  -12.43%          (p=0.008 n=5+5)
      FmtFprintfEmpty-8          49.0ns ± 1%    48.4ns ± 1%   -1.35%          (p=0.032 n=5+5)
      FmtFprintfString-8          160ns ± 1%     153ns ± 0%   -4.63%          (p=0.008 n=5+5)
      FmtFprintfInt-8             152ns ± 0%     150ns ± 0%   -1.57%          (p=0.000 n=5+4)
      FmtFprintfIntInt-8          252ns ± 2%     244ns ± 1%   -3.02%          (p=0.008 n=5+5)
      FmtFprintfPrefixedInt-8     223ns ± 0%     223ns ± 0%     ~     (all samples are equal)
      FmtFprintfFloat-8           293ns ± 2%     291ns ± 2%     ~             (p=0.389 n=5+5)
      FmtManyArgs-8               956ns ± 0%     936ns ± 0%   -2.05%          (p=0.008 n=5+5)
      GobDecode-8                7.18ms ± 0%    7.11ms ± 0%   -1.02%          (p=0.008 n=5+5)
      GobEncode-8                6.12ms ± 3%    6.07ms ± 1%     ~             (p=0.690 n=5+5)
      Gzip-8                      284ms ± 1%     284ms ± 0%     ~             (p=1.000 n=5+5)
      Gunzip-8                   40.8ms ± 1%    40.6ms ± 1%     ~             (p=0.310 n=5+5)
      HTTPClientServer-8         69.8µs ± 1%    72.2µs ± 4%     ~             (p=0.056 n=5+5)
      JSONEncode-8               16.1ms ± 2%    16.2ms ± 1%     ~             (p=0.151 n=5+5)
      JSONDecode-8               54.9ms ± 0%    57.0ms ± 1%   +3.79%          (p=0.008 n=5+5)
      Mandelbrot200-8            4.35ms ± 0%    4.39ms ± 0%   +0.85%          (p=0.008 n=5+5)
      GoParse-8                  3.56ms ± 1%    3.42ms ± 1%   -4.03%          (p=0.008 n=5+5)
      RegexpMatchEasy0_32-8      75.6ns ± 1%    75.0ns ± 0%   -0.83%          (p=0.016 n=5+4)
      RegexpMatchEasy0_1K-8       250ns ± 0%     252ns ± 1%   +0.80%          (p=0.016 n=4+5)
      RegexpMatchEasy1_32-8      75.0ns ± 0%    75.4ns ± 2%     ~             (p=0.206 n=5+5)
      RegexpMatchEasy1_1K-8       401ns ± 0%     398ns ± 1%     ~             (p=0.056 n=5+5)
      RegexpMatchMedium_32-8      119ns ± 0%     118ns ± 0%   -0.84%          (p=0.008 n=5+5)
      RegexpMatchMedium_1K-8     36.6µs ± 0%    36.9µs ± 0%   +0.91%          (p=0.008 n=5+5)
      RegexpMatchHard_32-8       1.95µs ± 1%    1.92µs ± 0%   -1.23%          (p=0.032 n=5+5)
      RegexpMatchHard_1K-8       58.3µs ± 1%    58.1µs ± 1%     ~             (p=0.548 n=5+5)
      Revcomp-8                   425ms ± 1%     389ms ± 1%   -8.39%          (p=0.008 n=5+5)
      Template-8                 65.5ms ± 1%    63.6ms ± 1%   -2.86%          (p=0.008 n=5+5)
      TimeParse-8                 363ns ± 0%     354ns ± 1%   -2.59%          (p=0.008 n=5+5)
      TimeFormat-8                363ns ± 0%     364ns ± 1%     ~             (p=0.159 n=5+5)
      
      Fixes #14511
      
      Change-Id: I1b79d2545271fa90d5b04712cc25573bdc94f2ce
      Reviewed-on: https://go-review.googlesource.com/20151
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarDavid Chase <drchase@google.com>
      c03ed491
    • David Crawshaw's avatar
      cmd/link: replace Autom linked list with slice · 5be961a3
      David Crawshaw authored
      Change-Id: I939129da0e71a7ccc61bec79515a34f0b1e59502
      Reviewed-on: https://go-review.googlesource.com/20162Reviewed-by: 's avatarDave Cheney <dave@cheney.net>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: David Crawshaw <crawshaw@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      5be961a3