1. 23 Mar, 2013 2 commits
  2. 22 Mar, 2013 27 commits
  3. 21 Mar, 2013 11 commits
    • Robert Griesemer's avatar
      test: more systematic shift tests · f8ff6893
      Robert Griesemer authored
      To be submitted once gc agrees.
      
      R=rsc, iant, remyoudompheng
      CC=golang-dev
      https://golang.org/cl/7861045
      f8ff6893
    • Rémy Oudompheng's avatar
      cmd/gc: accept ideal float as indices. · 88b98ff7
      Rémy Oudompheng authored
      Fixes #4813.
      
      R=golang-dev, daniel.morsing, rsc
      CC=golang-dev
      https://golang.org/cl/7625050
      88b98ff7
    • Robert Griesemer's avatar
      go/doc: use regexp for -notes instead of comma-sep. list · 5e6a1a3f
      Robert Griesemer authored
      -notes="BUG|TODO" instead of -notes="BUG,TODO".
      Permits -notes=".*" to see all notes.
      
      R=cnicolaou
      CC=golang-dev
      https://golang.org/cl/7951043
      5e6a1a3f
    • Rob Pike's avatar
      bufio.Scanner: delete obsolete TODO · 5bbdf405
      Rob Pike authored
      Also fix the examples to use stderr for errors.
      
      R=golang-dev, bradfitz
      CC=golang-dev
      https://golang.org/cl/7716052
      5bbdf405
    • Brad Fitzpatrick's avatar
      net/http/fcgi: fix a shutdown race · d7c1f67c
      Brad Fitzpatrick authored
      If a handler didn't consume all its Request.Body, child.go was
      closing the socket while the host was still writing to it,
      causing the child to send a RST and the host (at least nginx)
      to send an empty response body.
      
      Now, we tell the host we're done with the request/response
      first, and then close our input pipe after consuming a bit of
      it. Consuming the body fixes the problem, and flushing to the
      host first to tell it that we're done increases the chance
      that the host cuts off further data to us, meaning we won't
      have much to consume.
      
      No new tests, because this package is lacking in tests.
      Tested by hand with nginx.  See issue for testing details.
      
      Fixes #4183
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/7939045
      d7c1f67c
    • Russ Cox's avatar
      debug/elf: restore Go 1.0 semantics for (*File).Symbols · aafc444b
      Russ Cox authored
      Also adjust the implementation of applyRelocationsAMD64
      so that the test added in CL 6848044 still passes.
      
      R=golang-dev, minux.ma
      CC=golang-dev
      https://golang.org/cl/7686049
      aafc444b
    • Russ Cox's avatar
      reflect: implement method values · 3be70366
      Russ Cox authored
      Fixes #1517.
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/7906043
      3be70366
    • Rob Pike's avatar
      doc/go1.1.html: more TODOs done · 178d8d4f
      Rob Pike authored
      Only the net stuff remains as significant work in the "minor changes" section.
      
      R=golang-dev, dave, elias.naur, rsc
      CC=golang-dev
      https://golang.org/cl/7933044
      178d8d4f
    • Russ Cox's avatar
      crypto/rc4: faster amd64 implementation · b505ff62
      Russ Cox authored
      XOR key into data 128 bits at a time instead of 64 bits
      and pipeline half of state loads. Rotate loop to allow
      single-register indexing for state[i].
      
      On a MacBookPro10,2 (Core i5):
      
      benchmark           old ns/op    new ns/op    delta
      BenchmarkRC4_128          412          224  -45.63%
      BenchmarkRC4_1K          3179         1613  -49.26%
      BenchmarkRC4_8K         25223        12545  -50.26%
      
      benchmark            old MB/s     new MB/s  speedup
      BenchmarkRC4_128       310.51       570.42    1.84x
      BenchmarkRC4_1K        322.09       634.48    1.97x
      BenchmarkRC4_8K        320.97       645.32    2.01x
      
      For comparison, on the same machine, openssl 0.9.8r reports
      its rc4 speed as somewhat under 350 MB/s for both 1K and 8K
      (it is operating 64 bits at a time).
      
      On an Intel Xeon E5520:
      
      benchmark           old ns/op    new ns/op    delta
      BenchmarkRC4_128          418          259  -38.04%
      BenchmarkRC4_1K          3200         1884  -41.12%
      BenchmarkRC4_8K         25173        14529  -42.28%
      
      benchmark            old MB/s     new MB/s  speedup
      BenchmarkRC4_128       306.04       492.48    1.61x
      BenchmarkRC4_1K        319.93       543.26    1.70x
      BenchmarkRC4_8K        321.61       557.20    1.73x
      
      For comparison, on the same machine, openssl 1.0.1
      reports its rc4 speed as 587 MB/s for 1K and 601 MB/s for 8K.
      
      R=agl
      CC=golang-dev
      https://golang.org/cl/7865046
      b505ff62
    • Shenghou Ma's avatar
      cmd/ld: portability fixes · d04ac4b0
      Shenghou Ma authored
      fix code that implicitly assumes little-endian machines.
      
      R=golang-dev, bradfitz, rsc, alex.brainman
      CC=golang-dev
      https://golang.org/cl/6792043
      d04ac4b0
    • Shenghou Ma's avatar
      cmd/ld: don't generate DW_AT_type attr for unsafe.Pointer to match gcc behavior · a891b916
      Shenghou Ma authored
      gcc generates only attr DW_AT_byte_size for DW_TAG_pointer_type of "void *",
      but we used to also generate DW_AT_type pointing to imaginary unspecified
      type "void", which confuses some gdb.
      This change makes old Apple gdb 6.x (specifically, Apple version gdb-1515)
      accepts our binary without issue like this:
      (gdb) b 'main.main'
      Die: DW_TAG_unspecified_type (abbrev = 10, offset = 47079)
          has children: FALSE
          attributes:
              DW_AT_name (DW_FORM_string) string: "void"
      Dwarf Error: Cannot find type of die [in module /Users/minux/go/go2.hg/bin/go]
      
      Special thanks to Russ Cox for pointing out the problem in comment #6 of
      CL 7891044.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/7744051
      a891b916