1. 04 Jun, 2012 4 commits
  2. 03 Jun, 2012 7 commits
  3. 02 Jun, 2012 9 commits
  4. 01 Jun, 2012 5 commits
  5. 31 May, 2012 8 commits
  6. 30 May, 2012 7 commits
    • Dave Cheney's avatar
      cmd/go: add -ccflags · 5b2cd445
      Dave Cheney authored
      Add -ccflags to pass arguments to {5,6,8}c
      similar to -gcflags for {5,6,8}g.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/6260047
      5b2cd445
    • Russ Cox's avatar
      cmd/gc: contiguous loop layout · 001b75c9
      Russ Cox authored
      Drop expecttaken function in favor of extra argument
      to gbranch and bgen. Mark loop condition as likely to
      be true, so that loops are generated inline.
      
      The main benefit here is contiguous code when trying
      to read the generated assembly. It has only minor effects
      on the timing, and they mostly cancel the minor effects
      that aligning function entry points had.  One exception:
      both changes made Fannkuch faster.
      
      Compared to before CL 6244066 (before aligned functions)
      benchmark                 old ns/op    new ns/op    delta
      BenchmarkBinaryTree17    4222117400   4201958800   -0.48%
      BenchmarkFannkuch11      3462631800   3215908600   -7.13%
      BenchmarkGobDecode         20887622     20899164   +0.06%
      BenchmarkGobEncode          9548772      9439083   -1.15%
      BenchmarkGzip                151687       152060   +0.25%
      BenchmarkGunzip                8742         8711   -0.35%
      BenchmarkJSONEncode        62730560     62686700   -0.07%
      BenchmarkJSONDecode       252569180    252368960   -0.08%
      BenchmarkMandelbrot200      5267599      5252531   -0.29%
      BenchmarkRevcomp25M       980813500    985248400   +0.45%
      BenchmarkTemplate         361259100    357414680   -1.06%
      
      Compared to tip (aligned functions):
      benchmark                 old ns/op    new ns/op    delta
      BenchmarkBinaryTree17    4140739800   4201958800   +1.48%
      BenchmarkFannkuch11      3259914400   3215908600   -1.35%
      BenchmarkGobDecode         20620222     20899164   +1.35%
      BenchmarkGobEncode          9384886      9439083   +0.58%
      BenchmarkGzip                150333       152060   +1.15%
      BenchmarkGunzip                8741         8711   -0.34%
      BenchmarkJSONEncode        65210990     62686700   -3.87%
      BenchmarkJSONDecode       249394860    252368960   +1.19%
      BenchmarkMandelbrot200      5273394      5252531   -0.40%
      BenchmarkRevcomp25M       996013800    985248400   -1.08%
      BenchmarkTemplate         360620840    357414680   -0.89%
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/6245069
      001b75c9
    • Mikio Hara's avatar
      net: fix test to avoid unintentional nil pointer dereference · aad8e954
      Mikio Hara authored
      R=golang-dev, dave, rsc
      CC=golang-dev
      https://golang.org/cl/6248065
      aad8e954
    • Russ Cox's avatar
      cmd/5l: fix PLD · 6a5660f1
      Russ Cox authored
      Was missing break.
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/6250078
      6a5660f1
    • Russ Cox's avatar
      cmd/6l, cmd/8l, cmd/5l: add AUNDEF instruction · f2bd3a97
      Russ Cox authored
      On 6l and 8l, this is a real instruction, guaranteed to
      cause an 'undefined instruction' exception.
      
      On 5l, we simulate it as BL to address 0.
      
      The plan is to use it as a signal to the linker that this
      point in the instruction stream cannot be reached
      (hence the changes to nofollow).  This will help the
      compiler explain that panicindex and friends do not
      return without having to put a list of these functions
      in the linker.
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/6255064
      f2bd3a97
    • Russ Cox's avatar
      cmd/ld: align function entry on arch-specific boundary · 8820ab5d
      Russ Cox authored
      16 seems pretty standard on x86 for function entry.
      I don't know if ARM would benefit, so I used just 4
      (single instruction alignment).
      
      This has a minor absolute effect on the current timings.
      The main hope is that it will make them more consistent from
      run to run.
      
      benchmark                 old ns/op    new ns/op    delta
      BenchmarkBinaryTree17    4222117400   4140739800   -1.93%
      BenchmarkFannkuch11      3462631800   3259914400   -5.85%
      BenchmarkGobDecode         20887622     20620222   -1.28%
      BenchmarkGobEncode          9548772      9384886   -1.72%
      BenchmarkGzip                151687       150333   -0.89%
      BenchmarkGunzip                8742         8741   -0.01%
      BenchmarkJSONEncode        62730560     65210990   +3.95%
      BenchmarkJSONDecode       252569180    249394860   -1.26%
      BenchmarkMandelbrot200      5267599      5273394   +0.11%
      BenchmarkRevcomp25M       980813500    996013800   +1.55%
      BenchmarkTemplate         361259100    360620840   -0.18%
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/6244066
      8820ab5d
    • Russ Cox's avatar
      cmd/6l, cmd/8l: fix chaining bug in jump rewrite · b91cf505
      Russ Cox authored
      The code was inconsistent about when it used
      brchain(x) and when it used x directly, with the result
      that you could end up emitting code for brchain(x) but
      leave the jump pointing at an unemitted x.
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/6250077
      b91cf505