1. 13 Jun, 2012 1 commit
  2. 22 Mar, 2012 2 commits
  3. 19 Mar, 2012 1 commit
  4. 08 Mar, 2012 1 commit
  5. 29 Feb, 2012 1 commit
  6. 22 Feb, 2012 1 commit
  7. 13 Feb, 2012 1 commit
    • Anthony Martin's avatar
      gc, 8g, 8l: fix a handful of warnings · dbec4210
      Anthony Martin authored
      8g/cgen.c
              print format type mismatch
      
      8l/asm.c
              resoff set and not used
      
      gc/pgen.c
              misleading comparison INT > 0x80000000
      
      gc/reflect.c
              dalgsym must be static to match forward declaration
      
      gc/subr.c
              assumed_equal set and not used
              hashmem's second argument is not used
      
      gc/walk.c
              duplicated (unreachable) code
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/5651079
      dbec4210
  8. 11 Feb, 2012 1 commit
    • Russ Cox's avatar
      gc: optimize interface ==, != · f91cc3bd
      Russ Cox authored
      If the values being compared have different concrete types,
      then they're clearly unequal without needing to invoke the
      actual interface compare routine.  This speeds tests for
      specific values, like if err == io.EOF, by about 3x.
      
      benchmark                  old ns/op    new ns/op    delta
      BenchmarkIfaceCmp100             843          287  -65.95%
      BenchmarkIfaceCmpNil100          184          182   -1.09%
      
      Fixes #2591.
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/5651073
      f91cc3bd
  9. 06 Feb, 2012 1 commit
  10. 25 Jan, 2012 1 commit
    • Russ Cox's avatar
      gc: fix order of evaluation · ee9bfb02
      Russ Cox authored
      Pulling function calls out to happen before the
      expression being evaluated was causing illegal
      reorderings even without inlining; with inlining
      it got worse.  This CL adds a separate ordering pass
      to move things with a fixed order out of expressions
      and into the statement sequence, where they will
      not be reordered by walk.
      
      Replaces lvd's CL 5534079.
      
      Fixes #2740.
      
      R=lvd
      CC=golang-dev
      https://golang.org/cl/5569062
      ee9bfb02
  11. 23 Jan, 2012 1 commit
  12. 19 Dec, 2011 1 commit
  13. 13 Dec, 2011 1 commit
    • Russ Cox's avatar
      gc: implement == on structs and arrays · 196b6630
      Russ Cox authored
      To allow these types as map keys, we must fill in
      equal and hash functions in their algorithm tables.
      Structs or arrays that are "just memory", like [2]int,
      can and do continue to use the AMEM algorithm.
      Structs or arrays that contain special values like
      strings or interface values use generated functions
      for both equal and hash.
      
      The runtime helper func runtime.equal(t, x, y) bool handles
      the general equality case for x == y and calls out to
      the equal implementation in the algorithm table.
      
      For short values (<= 4 struct fields or array elements),
      the sequence of elementwise comparisons is inlined
      instead of calling runtime.equal.
      
      R=ken, mpimenov
      CC=golang-dev
      https://golang.org/cl/5451105
      196b6630
  14. 09 Dec, 2011 2 commits
  15. 05 Dec, 2011 1 commit
    • Russ Cox's avatar
      runtime: prep for type-specific algorithms · b9ccd077
      Russ Cox authored
      Equality on structs will require arbitrary code for type equality,
      so change algorithm in type data from uint8 to table pointer.
      In the process, trim top-level map structure from
      104/80 bytes (64-bit/32-bit) to 24/12.
      
      Equality on structs will require being able to call code generated
      by the Go compiler, and C code has no way to access Go return
      values, so change the hash and equal algorithm functions to take
      a pointer to a result instead of returning the result.
      
      R=ken
      CC=golang-dev
      https://golang.org/cl/5453043
      b9ccd077
  16. 02 Dec, 2011 1 commit
  17. 11 Nov, 2011 1 commit
  18. 04 Nov, 2011 1 commit
  19. 31 Oct, 2011 1 commit
    • Luuk van Dijk's avatar
      gc: clean up printing. · 50110c9f
      Luuk van Dijk authored
      Got rid of all the magic mystery globals. Now
      for %N, %T, and %S, the flags +,- and # set a sticky
      debug, sym and export mode, only visible in the new fmt.c.
      Default is error mode. Handle h and l flags consistently with
      the least side effects, so we can now change
      things without worrying about unrelated things
      breaking.
      
      fixes #2361
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/5316043
      50110c9f
  20. 26 Oct, 2011 1 commit
  21. 18 Oct, 2011 1 commit
  22. 13 Oct, 2011 2 commits
  23. 12 Oct, 2011 1 commit
  24. 02 Sep, 2011 1 commit
  25. 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
  26. 28 Aug, 2011 1 commit
    • Russ Cox's avatar
      gc: tweak and enable escape analysis · db5f9da4
      Russ Cox authored
      -s now means *disable* escape analysis.
      
      Fix escape leaks for struct/slice/map literals.
      Add ... tracking.
      Rewrite new(T) and slice literal into stack allocation when safe.
      
      Add annotations to reflect.
      Reflect is too chummy with the compiler,
      so changes like these affect it more than they should.
      
      R=lvd, dave, gustavo
      CC=golang-dev
      https://golang.org/cl/4954043
      db5f9da4
  27. 25 Aug, 2011 2 commits
  28. 17 Aug, 2011 2 commits
  29. 21 Jul, 2011 1 commit
  30. 14 Jul, 2011 1 commit
  31. 13 Jun, 2011 1 commit
  32. 03 Jun, 2011 1 commit
  33. 02 Jun, 2011 1 commit
  34. 31 May, 2011 2 commits