An error occurred fetching the project authors.
  1. 23 Feb, 2015 1 commit
  2. 04 Feb, 2015 1 commit
  3. 03 Feb, 2015 3 commits
  4. 30 Jan, 2015 1 commit
  5. 29 Oct, 2014 1 commit
    • Russ Cox's avatar
      [dev.power64] cmd/5a, cmd/6a, cmd/8a, cmd/9a: make labels function-scoped · b55791e2
      Russ Cox authored
      I removed support for jumping between functions years ago,
      as part of doing the instruction layout for each function separately.
      
      Given that, it makes sense to treat labels as function-scoped.
      This lets each function have its own 'loop' label, for example.
      
      Makes the assembly much cleaner and removes the last
      reason anyone would reach for the 123(PC) form instead.
      
      Note that this is on the dev.power64 branch, but it changes all
      the assemblers. The change will ship in Go 1.5 (perhaps after
      being ported into the new assembler).
      
      Came up as part of CL 167730043.
      
      LGTM=r
      R=r
      CC=austin, dave, golang-codereviews, minux
      https://golang.org/cl/159670043
      b55791e2
  6. 08 Sep, 2014 1 commit
    • Russ Cox's avatar
      build: adjustments for move from src/pkg to src · 220a6de4
      Russ Cox authored
      This CL adjusts code referring to src/pkg to refer to src.
      
      Immediately after submitting this CL, I will submit
      a change doing 'hg mv src/pkg/* src'.
      That change will be too large to review with Rietveld
      but will contain only the 'hg mv'.
      
      This CL will break the build.
      The followup 'hg mv' will fix it.
      
      For more about the move, see golang.org/s/go14nopkg.
      
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/134570043
      220a6de4
  7. 11 Dec, 2013 1 commit
  8. 09 Dec, 2013 1 commit
  9. 19 Jul, 2013 1 commit
  10. 18 Jul, 2013 1 commit
  11. 16 Jul, 2013 1 commit
  12. 27 Mar, 2013 1 commit
    • Ian Lance Taylor's avatar
      cmd/ld: emit TLS relocations during external linking · 30e29ee9
      Ian Lance Taylor authored
      This CL was written by rsc.  I just tweaked 8l.
      
      This CL adds TLS relocation to the ELF .o file we write during external linking,
      so that the host linker (gcc) can decide the final location of m and g.
      
      Similar relocations are not necessary on OS X because we use an alternate
      program start-time mechanism to acquire thread-local storage.
      
      Similar relocations are not necessary on ARM or Plan 9 or Windows
      because external linking mode is not yet supported on those systems.
      
      On almost all ELF systems, the references we use are like %fs:-0x4 or %gs:-0x4,
      which we write in 6a/8a as -0x4(FS) or -0x4(GS). On Linux/ELF, however,
      Xen's lack of support for this mode forced us long ago to use a two-instruction
      sequence: first we load %gs:0x0 into a register r, and then we use -0x4(r).
      (The ELF program loader arranges that %gs:0x0 contains a regular pointer to
      that same memory location.) In order to relocate those -0x4(r) references,
      the linker must know where they are. This CL adds the equivalent notation
      -0x4(r)(GS*1) for this purpose: it assembles to the same encoding as -0x4(r)
      but the (GS*1) indicates to the linker that this is one of those thread-local
      references that needs relocation.
      
      Thanks to Elias Naur for reminding me about this missing piece and
      also for writing the test.
      
      R=r
      CC=golang-dev
      https://golang.org/cl/7891047
      30e29ee9
  13. 07 Mar, 2013 1 commit
  14. 06 Dec, 2012 1 commit
  15. 07 Oct, 2012 1 commit
  16. 29 May, 2012 1 commit
    • Russ Cox's avatar
      cmd/6g, cmd/8g: move panicindex calls out of line · fefae6ee
      Russ Cox authored
      The old code generated for a bounds check was
                      CMP
                      JLT ok
                      CALL panicindex
              ok:
                      ...
      
      The new code is (once the linker finishes with it):
                      CMP
                      JGE panic
                      ...
              panic:
                      CALL panicindex
      
      which moves the calls out of line, putting more useful
      code in each cache line.  This matters especially in tight
      loops, such as in Fannkuch.  The benefit is more modest
      elsewhere, but real.
      
      From test/bench/go1, amd64:
      
      benchmark                old ns/op    new ns/op    delta
      BenchmarkBinaryTree17   6096092000   6088808000   -0.12%
      BenchmarkFannkuch11     6151404000   4020463000  -34.64%
      BenchmarkGobDecode        28990050     28894630   -0.33%
      BenchmarkGobEncode        12406310     12136730   -2.17%
      BenchmarkGzip               179923       179903   -0.01%
      BenchmarkGunzip              11219        11130   -0.79%
      BenchmarkJSONEncode       86429350     86515900   +0.10%
      BenchmarkJSONDecode      334593800    315728400   -5.64%
      BenchmarkRevcomp25M     1219763000   1180767000   -3.20%
      BenchmarkTemplate        492947600    483646800   -1.89%
      
      And 386:
      
      benchmark                old ns/op    new ns/op    delta
      BenchmarkBinaryTree17   6354902000   6243000000   -1.76%
      BenchmarkFannkuch11     8043769000   7326965000   -8.91%
      BenchmarkGobDecode        19010800     18941230   -0.37%
      BenchmarkGobEncode        14077500     13792460   -2.02%
      BenchmarkGzip               194087       193619   -0.24%
      BenchmarkGunzip              12495        12457   -0.30%
      BenchmarkJSONEncode      125636400    125451400   -0.15%
      BenchmarkJSONDecode      696648600    685032800   -1.67%
      BenchmarkRevcomp25M     2058088000   2052545000   -0.27%
      BenchmarkTemplate        602140000    589876800   -2.04%
      
      To implement this, two new instruction forms:
      
              JLT target      // same as always
              JLT $0, target  // branch expected not taken
              JLT $1, target  // branch expected taken
      
      The linker could also emit the prediction prefixes, but it
      does not: expected taken branches are reversed so that the
      expected case is not taken (as in example above), and
      the default expectaton for such a jump is not taken
      already.
      
      R=golang-dev, gri, r, dave
      CC=golang-dev
      https://golang.org/cl/6248049
      fefae6ee
  17. 11 Nov, 2011 1 commit
  18. 29 Aug, 2011 1 commit
  19. 27 Jun, 2011 1 commit
    • Lucio De Re's avatar
      8a: fixes for Plan 9 build · 6bcfb951
      Lucio De Re authored
      8a/a.h:
      . Removed <u.h> and <libc.h> includes as they work better in "a.y".
      . Made definition of EOF conditional as it's defined in the Plan 9
        header files, but not elsewhere.
      
      8a/a.y:
      . Added <u.h> and <libc.h> because <stdio.h> in Plan 9 needs them.
        Sequence <u.h>, <stdio.h>, <libc.h> recommended by RSC.
      
      8a/lex.c:
      . Added <u.h> and <libc.h> as now needed by "a.h".
      . Dropped <ctype.h>.
      
      cc/lexbody:
      . exit() -> exits().
      . Dropped unwanted incrementation.
      
      cc/macbody:
      . Adjusted a few format specifications.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4644047
      6bcfb951
  20. 07 Oct, 2010 1 commit
  21. 13 Nov, 2009 1 commit
  22. 21 Sep, 2009 1 commit
  23. 20 Mar, 2009 1 commit
    • Russ Cox's avatar
      update 8a, 8c, 8l to use new object format. · 2bd101c4
      Russ Cox authored
      add "extern register" support to 8c.
      extern register means allocate in the FS-relative segment.
      
      make 8l generate segmented stack checks.
      
      R=ken
      OCL=26600
      CL=26606
      2bd101c4
  24. 06 Jan, 2009 2 commits
  25. 13 Jul, 2008 1 commit
    • Ken Thompson's avatar
      morestack magic number · 3f982aea
      Ken Thompson authored
      automatically generated in 6g and 6c,
      manually set in 6a. format is
      	TEXT	a(SB),, $a-b
      where a is auto size and b is parameter size
      
      SVN=126946
      3f982aea
  26. 27 Jun, 2008 1 commit
  27. 04 Jun, 2008 1 commit