1. 01 Jul, 2014 10 commits
  2. 30 Jun, 2014 5 commits
    • David Crawshaw's avatar
      runtime: update arm comments now register m is gone · 54951023
      David Crawshaw authored
      LGTM=minux
      R=golang-codereviews, minux
      CC=golang-codereviews
      https://golang.org/cl/109220046
      54951023
    • Rob Pike's avatar
      encoding/gob: simplify allocation in decode. · ce5bbfdd
      Rob Pike authored
      The old code's structure needed to track indirections because of the
      use of unsafe. That is no longer necessary, so we can remove all
      that tracking. The code cleans up considerably but is a little slower.
      We may be able to recover that performance drop. I believe the
      code quality improvement is worthwhile regardless.
      
      BenchmarkEndToEndPipe           5610          5780          +3.03%
      BenchmarkEndToEndByteBuffer     3156          3222          +2.09%
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews
      https://golang.org/cl/103700043
      ce5bbfdd
    • Robert Griesemer's avatar
      gofmt: remove redundant check in rewriter · 6a228239
      Robert Griesemer authored
      If the actual types of two reflect values are
      the same and the values are structs, they must
      have the same number of fields.
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews
      https://golang.org/cl/108280043
      6a228239
    • Rob Pike's avatar
      doc/go1.4.txt: encoding/gob is now safe · 1abab32c
      Rob Pike authored
      CC=golang-codereviews
      https://golang.org/cl/103690043
      1abab32c
    • Rob Pike's avatar
      encoding/gob: remove unsafe, use reflection. · 3050a0a7
      Rob Pike authored
      This removes a major unsafe thorn in our side, a perennial obstacle
      to clean garbage collection.
      Not coincidentally: In cleaning this up, several bugs were found,
      including code that reached inside by-value interfaces to create
      pointers for pointer-receiver methods. Unsafe code is just as
      advertised.
      
      Performance of course suffers, but not too badly. The Pipe number
      is more indicative, since it's doing I/O that simulates a network
      connection. Plus these are end-to-end, so each end suffers
      only half of this pain.
      
      The edit is pretty much a line-by-line conversion, with a few
      simplifications and a couple of new tests. There may be more
      performance to gain.
      
      BenchmarkEndToEndByteBuffer     2493          3033          +21.66%
      BenchmarkEndToEndPipe           4953          5597          +13.00%
      
      Fixes #5159.
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews, khr
      https://golang.org/cl/102680045
      3050a0a7
  3. 29 Jun, 2014 2 commits
  4. 28 Jun, 2014 6 commits
  5. 27 Jun, 2014 4 commits
  6. 26 Jun, 2014 6 commits
  7. 25 Jun, 2014 4 commits
  8. 24 Jun, 2014 3 commits
    • Mihai Borobocea's avatar
      fmt: fix typo in help doc · 92d58c7e
      Mihai Borobocea authored
      LGTM=iant
      R=golang-codereviews, iant
      CC=golang-codereviews
      https://golang.org/cl/110110045
      92d58c7e
    • Ian Lance Taylor's avatar
      A+C: add Tetsuo Kiso (personal CLA) · 0852368f
      Ian Lance Taylor authored
      LGTM=bradfitz
      R=golang-codereviews, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/101520043
      0852368f
    • Robert Griesemer's avatar
      spec: receiver declaration is just a parameter declaration · 187ee2cf
      Robert Griesemer authored
      This CL removes the special syntax for method receivers and
      makes it just like other parameters. Instead, the crucial
      receiver-specific rules (exactly one receiver, receiver type
      must be of the form T or *T) are specified verbally instead
      of syntactically.
      
      This is a fully backward-compatible (and minor) syntax
      relaxation. As a result, the following syntactic restrictions
      (which are completely irrelevant) and which were only in place
      for receivers are removed:
      
      a) receiver types cannot be parenthesized
      b) receiver parameter lists cannot have a trailing comma
      
      The result of this CL is a simplication of the spec and the
      implementation, with no impact on existing (or future) code.
      
      Noteworthy:
      
      - gc already permits a trailing comma at the end of a receiver
        declaration:
      
        func (recv T,) m() {}
      
        This is technically a bug with the current spec; this CL will
        legalize this notation.
      
      - gccgo produces a misleading error when a trailing comma is used:
      
        error: method has multiple receivers
      
        (even though there's only one receiver)
      
      - Compilers and type-checkers won't need to report errors anymore
        if receiver types are parenthesized.
      
      Fixes #4496.
      
      LGTM=iant, rsc
      R=r, rsc, iant, ken
      CC=golang-codereviews
      https://golang.org/cl/101500044
      187ee2cf