1. 18 Oct, 2011 1 commit
  2. 17 Oct, 2011 1 commit
  3. 31 Aug, 2011 1 commit
    • Russ Cox's avatar
      gc: make static initialization more static · 335da67e
      Russ Cox authored
      Does as much as possible in data layout instead
      of during the init function.
      
      Handles var x = y; var y = z as a special case too,
      because it is so prevalent in package unicode
      (var Greek = _Greek; var _Greek = []...).
      
      Introduces InitPlan description of initialized data
      so that it can be traversed multiple times (for example,
      in the copy handler).
      
      Cuts package unicode's init function size by 8x.
      All that remains there is map initialization, which
      is on the chopping block too.
      
      Fixes sinit.go test case.
      
      Aggregate DATA instructions at end of object file.
      
      Checkpoint.  More to come.
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/4969051
      335da67e
  4. 29 Aug, 2011 1 commit
    • Lucio De Re's avatar
      gc: fix build on Plan 9 · b3cc4897
      Lucio De Re authored
      gc/bits.c
      . improved format with associated cast;
      gc/closure.c
      gc/dcl.c
      gc/range.c
      gc/reflect.c
      gc/sinit.c
      . dropped unnecessary assignments;
      gc/gen.c
      . dropped unnecessary assignment;
      . added static qualifier to local function definition;
      gc/go.h
      . added varargck pragmas;
      gc/lex.c
      . used {} instead of ; in if statement to suppress warning;
      . replaced exit(0) with exits(0);
      . added compilation conditions for SIGBUS/SIGSEGV;
      . dropped unnecessary assignment;
      gc/mparith2.c
      . dropped four unnecessary assignments/initialisations;
      gc/obj.c
      . added type cast to local pointer;
      gc/pgen.c
      . added cast and related print format;
      gc/subr.c
      . replaced exit(1) with exits("error");
      . replaced unlink() with remove();
      . renamed local cistrmp() as ucistrmp() to remove conflict with
        Plan 9 function by the same name;
      gc/swt.c
      . added braces instead of ; as empty statment;
      gc/typecheck.c
      . added static qualifier to local function definition;
      . dropped unnecessary assignments;
      gc/walk.c
      . dropped unnecessary assignments;
      . added static qualifier to local function definitions;
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/4964046
      b3cc4897
  5. 25 Aug, 2011 1 commit
    • Russ Cox's avatar
      gc: shuffle #includes · 61f84a2c
      Russ Cox authored
      #include "go.h" (or "gg.h")
      
      becomes
      
      #include <u.h>
      #include <libc.h>
      #include "go.h"
      
      so that go.y can #include <stdio.h>
      after <u.h> but before "go.h".
      This is necessary on Plan 9.
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/4971041
      61f84a2c
  6. 24 Aug, 2011 1 commit
  7. 21 Apr, 2011 1 commit
  8. 19 Apr, 2011 1 commit
  9. 14 Apr, 2011 1 commit
  10. 09 Apr, 2011 1 commit
    • Russ Cox's avatar
      ld: 25% faster · 1bc84b7e
      Russ Cox authored
      The ld time was dominated by symbol table processing, so
        * increase hash table size
        * emit fewer symbols in gc (just 1 per string, 1 per type)
        * add read-only lookup to avoid creating spurious symbols
        * add linked list to speed whole-table traversals
      
      Breaks dwarf generator (no idea why), so disable dwarf.
      
      Reduces time for 6l to link godoc by 25%.
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/4383047
      1bc84b7e
  11. 07 Mar, 2011 1 commit
    • Russ Cox's avatar
      gc: unsafe.Pointer is not a pointer · 5c2666c1
      Russ Cox authored
      Change unsafe.Pointer to be its own kind of
      type, instead of making it equivalent to *any.
      The change complicates import and export
      but avoids the need to find all the places that
      operate on pointers but should not operate on
      unsafe.Pointer.
      
      Fixes #1566. (a different way)
      Fixes #1582.
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/4264050
      5c2666c1
  12. 03 Mar, 2011 1 commit
  13. 24 Feb, 2011 1 commit
  14. 20 Jan, 2011 1 commit
  15. 13 Dec, 2010 2 commits
  16. 05 Oct, 2010 1 commit
  17. 30 Sep, 2010 1 commit
  18. 28 Sep, 2010 1 commit
  19. 27 Jul, 2010 1 commit
  20. 26 Jul, 2010 1 commit
  21. 28 Jun, 2010 1 commit
  22. 20 Jun, 2010 1 commit
  23. 14 Jun, 2010 1 commit
  24. 18 Feb, 2010 1 commit
  25. 01 Feb, 2010 2 commits
  26. 26 Jan, 2010 1 commit
  27. 25 Jan, 2010 1 commit
  28. 23 Jan, 2010 1 commit
    • Russ Cox's avatar
      eliminate the package global name space assumption in object files · 758f2bc5
      Russ Cox authored
      5g/6g/8g: add import statements to export metadata, mapping package path to package name.
      	recognize "" as the path of the package in export metadata.
      	use "" as the path of the package in object symbol names.
      
      5c/6c/8c, 5a/6a/8a: rewrite leading . to "". so that ·Sin means Sin in this package.
      
      5l/6l/8l: rewrite "" in symbol names as object files are read.
      
      gotest: handle new symbol names.
      
      gopack: handle new import lines in export metadata.
      
      Collectively, these changes eliminate the assumption of a global
      name space in the object file formats.  Higher level pieces such as
      reflect and the computation of type hashes still depend on the
      assumption; we're not done yet.
      
      R=ken2, r, ken3
      CC=golang-dev
      https://golang.org/cl/186263
      758f2bc5
  29. 27 Dec, 2009 1 commit
  30. 19 Dec, 2009 1 commit
  31. 05 Dec, 2009 1 commit
    • Russ Cox's avatar
      gc/runtime: pass type structure to makeslice. · 864c757a
      Russ Cox authored
        * inform garbage collector about memory with no pointers in it
      
      1.9s	gcc reverse-complement.c
      
      reverse-complement.go
      4.5s / 3.5s	original, with/without bounds checks
      3.5s / 3.3s	bounds check reduction
      3.3s / 2.8s	smarter garbage collector
      2.6s / 2.3s		assembler bytes.IndexByte
      2.5s / 2.1s	even smarter garbage collector (this CL)
      
      R=r
      https://golang.org/cl/165064
      864c757a
  32. 20 Oct, 2009 1 commit
    • Russ Cox's avatar
      bug190. · 8fffa1d6
      Russ Cox authored
      also eliminate float80 dregs
      
      R=ken
      OCL=35894
      CL=35896
      8fffa1d6
  33. 21 Sep, 2009 1 commit
  34. 02 Sep, 2009 1 commit
  35. 27 Aug, 2009 1 commit
  36. 13 Aug, 2009 1 commit
    • Russ Cox's avatar
      6g/6l: add go type information to symbol table. · 311c0b48
      Russ Cox authored
        archive size +70%
        binary size +30%
      
      old
      
      wreck.mtv=; ls -l /Users/rsc/bin/{godoc,gofmt}
      -rwxr-xr-x  1 rsc  eng  1487922 Aug 13 13:21 /Users/rsc/bin/godoc
      -rwxr-xr-x  1 rsc  eng   995995 Aug 13 13:21 /Users/rsc/bin/gofmt
      wreck.mtv=; du -sh $GOROOT/pkg/
      9.5M	/home/rsc/go/pkg/
      wreck.mtv=;
      
      new
      
      wreck.mtv=; ls -l /Users/rsc/bin/{godoc,gofmt}
      -rwxr-xr-x  1 rsc  eng  2014390 Aug 13 14:25 /Users/rsc/bin/godoc
      -rwxr-xr-x  1 rsc  eng  1268705 Aug 13 14:25 /Users/rsc/bin/gofmt
      wreck.mtv=; du -sh $GOROOT/pkg
       16M	/home/rsc/go/pkg
      wreck.mtv=;
      
      R=ken
      OCL=33217
      CL=33220
      311c0b48
  37. 12 Aug, 2009 1 commit
  38. 07 Aug, 2009 1 commit