]> Cypherpunks repositories - gostls13.git/log
gostls13.git
13 years agocmd/gc: test for issue 3552
Luuk van Dijk [Wed, 2 May 2012 14:56:26 +0000 (16:56 +0200)]
cmd/gc: test for issue 3552

R=rsc
CC=golang-dev
https://golang.org/cl/6128051

13 years agoruntime: avoid unnecessary zeroization of huge memory blocks
Dmitriy Vyukov [Wed, 2 May 2012 14:01:11 +0000 (18:01 +0400)]
runtime: avoid unnecessary zeroization of huge memory blocks
+move zeroization out of the heap mutex

R=golang-dev, iant, rsc
CC=golang-dev
https://golang.org/cl/6094050

13 years agoos/signal: run windows TestCtrlBreak during build
Alex Brainman [Wed, 2 May 2012 07:05:52 +0000 (17:05 +1000)]
os/signal: run windows TestCtrlBreak during build

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6136054

13 years agoos: conform to Go 1 API on Plan 9
Anthony Martin [Wed, 2 May 2012 05:44:38 +0000 (22:44 -0700)]
os: conform to Go 1 API on Plan 9

R=golang-dev, r, bradfitz, r
CC=golang-dev
https://golang.org/cl/6117062

13 years agobuild: dist-based build for Plan 9
Anthony Martin [Wed, 2 May 2012 05:32:46 +0000 (22:32 -0700)]
build: dist-based build for Plan 9

R=rsc, iant, iant, seed
CC=golang-dev
https://golang.org/cl/5608059

13 years agomisc/dashboard/codereview: LGTM favicon
Rob Pike [Wed, 2 May 2012 03:48:49 +0000 (13:48 +1000)]
misc/dashboard/codereview: LGTM favicon

R=dsymonds
CC=golang-dev
https://golang.org/cl/6158043

13 years agobytes: add assembly version of Equal for ARM
Dave Cheney [Wed, 2 May 2012 02:10:24 +0000 (12:10 +1000)]
bytes: add assembly version of Equal for ARM

BenchmarkEqual32                       662          159  -75.98%
BenchmarkEqual4K                     76545        13719  -82.08%
BenchmarkEqual4M                  90136700     23588870  -73.83%
BenchmarkEqual64M               2147483647   1419616000  -42.63%

BenchmarkEqual32                     48.32       201.15    4.16x
BenchmarkEqual4K                     53.51       298.56    5.58x
BenchmarkEqual4M                     46.53       177.81    3.82x
BenchmarkEqual64M                    27.12        47.27    1.74x

R=golang-dev, qyzhai, minux.ma, rsc, iant, nigeltao
CC=golang-dev
https://golang.org/cl/6118049

13 years agocgo: rename C names for Go types to avoid conflicting with package
Ian Lance Taylor [Tue, 1 May 2012 16:04:13 +0000 (09:04 -0700)]
cgo: rename C names for Go types to avoid conflicting with package

Fixes #3371.

R=rsc, bsiegert, r, mtj, iant
CC=golang-dev
https://golang.org/cl/6131060

13 years agomisc/dashboard/codereview: preserve CL ordering.
David Symonds [Tue, 1 May 2012 06:15:32 +0000 (16:15 +1000)]
misc/dashboard/codereview: preserve CL ordering.

R=r
CC=golang-dev
https://golang.org/cl/6136056

13 years agocompress/flate: add a copy overrun test.
Nigel Tao [Tue, 1 May 2012 04:28:33 +0000 (14:28 +1000)]
compress/flate: add a copy overrun test.

R=rsc, r
CC=golang-dev
https://golang.org/cl/6143043

13 years agomisc/dashboard/codereview: de-dup LGTMs.
David Symonds [Tue, 1 May 2012 01:41:32 +0000 (11:41 +1000)]
misc/dashboard/codereview: de-dup LGTMs.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6127066

13 years agoencoding/json: don't match field name if a JSON struct tag is present.
David Symonds [Tue, 1 May 2012 01:37:44 +0000 (11:37 +1000)]
encoding/json: don't match field name if a JSON struct tag is present.

Fixes #3566.

R=rsc
CC=golang-dev
https://golang.org/cl/6139048

13 years agomisc/dashboard/codereview: send mail immediately, and fill in time.Time fields.
David Symonds [Tue, 1 May 2012 01:33:25 +0000 (11:33 +1000)]
misc/dashboard/codereview: send mail immediately, and fill in time.Time fields.

If we delay the mail sending, we can't send as the current user.
If we don't fill in the time.Time fields, datastore.Put will fail
because the zero time.Time value is out of its range.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6136053

13 years agocompress/flate: optimize history-copy decoding.
Nigel Tao [Tue, 1 May 2012 00:51:34 +0000 (10:51 +1000)]
compress/flate: optimize history-copy decoding.

The forwardCopy function could be re-written in asm, and the copyHuff
method could probably be rolled into huffmanBlock and copyHist, but
I'm leaving those changes for future CLs.

compress/flate benchmarks:
benchmark                                 old ns/op    new ns/op    delta
BenchmarkDecoderBestSpeed1K                  385327       435140  +12.93%
BenchmarkDecoderBestSpeed10K                1245190      1062112  -14.70%
BenchmarkDecoderBestSpeed100K               8512365      5833680  -31.47%
BenchmarkDecoderDefaultCompression1K         382225       421301  +10.22%
BenchmarkDecoderDefaultCompression10K        867950       613890  -29.27%
BenchmarkDecoderDefaultCompression100K      5658240      2466726  -56.40%
BenchmarkDecoderBestCompression1K            383760       421634   +9.87%
BenchmarkDecoderBestCompression10K           867743       614671  -29.16%
BenchmarkDecoderBestCompression100K         5660160      2464996  -56.45%

image/png benchmarks:
benchmark                       old ns/op    new ns/op    delta
BenchmarkDecodeGray               2540834      2389624   -5.95%
BenchmarkDecodeNRGBAGradient     10052700      9534565   -5.15%
BenchmarkDecodeNRGBAOpaque        8704710      8163430   -6.22%
BenchmarkDecodePaletted           1458779      1325017   -9.17%
BenchmarkDecodeRGB                7183606      6794668   -5.41%

Wall time for Denis Cheremisov's PNG-decoding program given in
https://groups.google.com/group/golang-nuts/browse_thread/thread/22aa8a05040fdd49
Before: 3.07s
After:  2.32s
Delta:  -24%

Before profile:
Total: 304 samples
         159  52.3%  52.3%      251  82.6% compress/flate.(*decompressor).huffmanBlock
          58  19.1%  71.4%       76  25.0% compress/flate.(*decompressor).huffSym
          32  10.5%  81.9%       32  10.5% hash/adler32.update
          16   5.3%  87.2%       22   7.2% bufio.(*Reader).ReadByte
          16   5.3%  92.4%       37  12.2% compress/flate.(*decompressor).moreBits
           7   2.3%  94.7%        7   2.3% hash/crc32.update
           7   2.3%  97.0%        7   2.3% runtime.memmove
           5   1.6%  98.7%        5   1.6% scanblock
           2   0.7%  99.3%        9   3.0% runtime.copy
           1   0.3%  99.7%        1   0.3% compress/flate.(*huffmanDecoder).init

After profile:
Total: 230 samples
          59  25.7%  25.7%       70  30.4% compress/flate.(*decompressor).huffSym
          45  19.6%  45.2%       45  19.6% hash/adler32.update
          35  15.2%  60.4%       35  15.2% compress/flate.forwardCopy
          20   8.7%  69.1%      151  65.7% compress/flate.(*decompressor).huffmanBlock
          16   7.0%  76.1%       24  10.4% compress/flate.(*decompressor).moreBits
          15   6.5%  82.6%       15   6.5% runtime.memmove
          11   4.8%  87.4%       50  21.7% compress/flate.(*decompressor).copyHist
           7   3.0%  90.4%        7   3.0% hash/crc32.update
           6   2.6%  93.0%        9   3.9% bufio.(*Reader).ReadByte
           4   1.7%  94.8%        4   1.7% runtime.slicearray

R=rsc, rogpeppe, dave
CC=golang-dev, krasin
https://golang.org/cl/6127064

13 years agocmd/go: do not ignore DepsErrors in 'go run'
Robert Hencke [Mon, 30 Apr 2012 21:00:24 +0000 (17:00 -0400)]
cmd/go: do not ignore DepsErrors in 'go run'

Fixes #3490.

R=golang-dev, dave, rsc
CC=golang-dev
https://golang.org/cl/6040046

13 years agoruntime: give proper messages when user defined DYLD_INSERT_LIBRARIES on Darwin
Shenghou Ma [Mon, 30 Apr 2012 19:55:07 +0000 (15:55 -0400)]
runtime: give proper messages when user defined DYLD_INSERT_LIBRARIES on Darwin
       also gives clear error when bsdthread_register fails on Darwin
       Fixes #2992.

R=rsc, krautz
CC=golang-dev
https://golang.org/cl/5966067

13 years agomisc/dashboard/codereview: record Message-ID of code review thread mails.
David Symonds [Mon, 30 Apr 2012 12:47:51 +0000 (22:47 +1000)]
misc/dashboard/codereview: record Message-ID of code review thread mails.

This will allow us to properly thread "R=..." mails at a later time.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6135053

13 years agomisc/dashboard/codereview: add handy logout URL.
David Symonds [Mon, 30 Apr 2012 12:47:06 +0000 (22:47 +1000)]
misc/dashboard/codereview: add handy logout URL.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6135052

13 years agomisc/dashboard/codereview: send mail to assigned reviewers if they aren't already...
David Symonds [Mon, 30 Apr 2012 12:03:56 +0000 (22:03 +1000)]
misc/dashboard/codereview: send mail to assigned reviewers if they aren't already looped in.

R=golang-dev, bradfitz, r
CC=golang-dev
https://golang.org/cl/6128054

13 years agoencoding/base64: don't ignore underlying souce read error in decode
Brad Fitzpatrick [Mon, 30 Apr 2012 07:14:41 +0000 (17:14 +1000)]
encoding/base64: don't ignore underlying souce read error in decode

Fixes #3577

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6137054

13 years agosyscall: add a test for passing an fd over a unix socket
Brad Fitzpatrick [Mon, 30 Apr 2012 05:31:14 +0000 (15:31 +1000)]
syscall: add a test for passing an fd over a unix socket

Re-submitting previously reverted change 160ec5506cb7.

R=golang-dev, r, r
CC=golang-dev
https://golang.org/cl/6129052

13 years agocompress/flate: add Encoder/Decoder benchmarks
Dave Cheney [Sun, 29 Apr 2012 10:41:13 +0000 (20:41 +1000)]
compress/flate: add Encoder/Decoder benchmarks

In CL 6127051, nigeltao suggested that further gains
were possible by improving the performance of flate.
This CL adds a set of benchmarks (based on compress/lzw)
that can be used to judge any future improvements.

R=nigeltao
CC=golang-dev
https://golang.org/cl/6128049

13 years agomisc/dashboard/codereview: don't depend on map iteration order for unit calculation.
David Symonds [Fri, 27 Apr 2012 23:47:15 +0000 (09:47 +1000)]
misc/dashboard/codereview: don't depend on map iteration order for unit calculation.

Fix auth requirements for /gc endpoint too.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6133049

13 years agoos/exec: close all internal descriptors when Cmd.Start() fails.
Brian Dellisanti [Fri, 27 Apr 2012 22:46:49 +0000 (15:46 -0700)]
os/exec: close all internal descriptors when Cmd.Start() fails.

This closes any internal descriptors (pipes, etc) that Cmd.Start() had
opened before it failed.

Fixes #3468.

R=golang-dev, iant, bradfitz
CC=golang-dev
https://golang.org/cl/5986044

13 years agoA+C: add Brian Dellisanti (individual CLA)
Ian Lance Taylor [Fri, 27 Apr 2012 22:46:27 +0000 (15:46 -0700)]
A+C: add Brian Dellisanti (individual CLA)

R=golang-dev, bsiegert, r
CC=golang-dev
https://golang.org/cl/6127056

13 years agomisc/dashboard/codereview: simplify parallel operations for front page, and capture...
David Symonds [Fri, 27 Apr 2012 13:16:54 +0000 (23:16 +1000)]
misc/dashboard/codereview: simplify parallel operations for front page, and capture timing info.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6128044

13 years agonet: consolidate common socket functions
Dave Cheney [Fri, 27 Apr 2012 12:17:08 +0000 (22:17 +1000)]
net: consolidate common socket functions

In resolving 3507, the fix had to be applied individually to
the four *Conn types, tcp, udp, rawip and unix, due to the
duplicate code in each Conn type.

This CL consolidates the common net.Conn methods that all four
*Conn types implement into a base conn type.

Pros:
* The fix for 3507 would have only needed to be applied to one
method. Further improvements, such as possibly removing the
c.fd != nil check in c.ok(), would benefit from this CL.
* Nearly 300 lines removed from the net package.
* The public interface and documentation are not changed.
* I think this is an excellent example of the power of embedding.

Cons:
* The net package is already distributed over many files, this
CL adds another place to look.
* The fix for 3507 was a total of 16 lines changed, this follow
up CL could be considered to be an overreaction as new Conn types
are unlikely to be added in the near future.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6098047

13 years agomisc/dashboard/codereview: more abbreviated modification duration.
David Symonds [Fri, 27 Apr 2012 07:12:09 +0000 (17:12 +1000)]
misc/dashboard/codereview: more abbreviated modification duration.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6131044

13 years agomisc/dashboard/codereview: new app.
David Symonds [Fri, 27 Apr 2012 06:36:02 +0000 (16:36 +1000)]
misc/dashboard/codereview: new app.

This is live at http://gocodereview.appspot.com/.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6134043

13 years agoimage/png: speed up PNG decoding for common color models: Gray, NRGBA,
Nigel Tao [Fri, 27 Apr 2012 06:03:58 +0000 (16:03 +1000)]
image/png: speed up PNG decoding for common color models: Gray, NRGBA,
Paletted, RGBA.

benchmark                       old ns/op    new ns/op    delta
BenchmarkDecodeGray               3681144      2536049  -31.11%
BenchmarkDecodeNRGBAGradient     12108660     10020650  -17.24%
BenchmarkDecodeNRGBAOpaque       10699230      8677165  -18.90%
BenchmarkDecodePaletted           2562806      1458798  -43.08%
BenchmarkDecodeRGB                8468175      7180730  -15.20%

benchmark                        old MB/s     new MB/s  speedup
BenchmarkDecodeGray                 17.80        25.84    1.45x
BenchmarkDecodeNRGBAGradient        21.65        26.16    1.21x
BenchmarkDecodeNRGBAOpaque          24.50        30.21    1.23x
BenchmarkDecodePaletted             25.57        44.92    1.76x
BenchmarkDecodeRGB                  30.96        36.51    1.18x

$ file $GOROOT/src/pkg/image/png/testdata/bench*
benchGray.png:           PNG image, 256 x 256, 8-bit grayscale, non-interlaced
benchNRGBA-gradient.png: PNG image, 256 x 256, 8-bit/color RGBA, non-interlaced
benchNRGBA-opaque.png:   PNG image, 256 x 256, 8-bit/color RGBA, non-interlaced
benchPaletted.png:       PNG image, 256 x 256, 8-bit colormap, non-interlaced
benchRGB.png:            PNG image, 256 x 256, 8-bit/color RGB, non-interlaced

R=r
CC=golang-dev
https://golang.org/cl/6127051

13 years agoold/regexp, old/template: delete.
David Symonds [Fri, 27 Apr 2012 05:12:24 +0000 (15:12 +1000)]
old/regexp, old/template: delete.

Both of these have replacements.

R=golang-dev, r, rsc, r, adg
CC=golang-dev
https://golang.org/cl/5979046

13 years agopath/filepath: fix typo
Anthony Martin [Fri, 27 Apr 2012 00:25:19 +0000 (10:25 +1000)]
path/filepath: fix typo

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6117063

13 years agomisc/dist: drop repetition in filenames, default to release tag
Andrew Gerrand [Thu, 26 Apr 2012 20:25:53 +0000 (13:25 -0700)]
misc/dist: drop repetition in filenames, default to release tag

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6117066

13 years agore-tag go1.0.1
Andrew Gerrand [Thu, 26 Apr 2012 19:51:55 +0000 (12:51 -0700)]
re-tag go1.0.1

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6115056

13 years agotag go1.0.1
Andrew Gerrand [Thu, 26 Apr 2012 19:34:30 +0000 (12:34 -0700)]
tag go1.0.1

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6125048

13 years agodoc: go1.0.1 release notes
Andrew Gerrand [Thu, 26 Apr 2012 19:02:06 +0000 (12:02 -0700)]
doc: go1.0.1 release notes

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6123055

13 years agocmd/go: new tag selection logic
Russ Cox [Thu, 26 Apr 2012 18:25:28 +0000 (14:25 -0400)]
cmd/go: new tag selection logic

The new logic is "use go1 if it's there, otherwise no tag."
Nothing needs to say "I require go1.0.1", and I want to
preserve some flexibility in defining what tags mean.

Right now (before go1.0.1) there is only one possible tag,
"go1", and I'd like to keep it that way.

R=golang-dev, bradfitz, r, adg
CC=golang-dev
https://golang.org/cl/6112060

13 years agosyscall: remove sysctl workaround for openbsd
Joel Sing [Thu, 26 Apr 2012 15:45:15 +0000 (01:45 +1000)]
syscall: remove sysctl workaround for openbsd

Now that Go will no longer work on OpenBSD versions prior to 5.1,
remove the sysctl workaround that was needed for 5.0 and earlier.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6116050

13 years agosyscall: fix a number of exec bugs on Plan 9
Anthony Martin [Thu, 26 Apr 2012 09:59:13 +0000 (02:59 -0700)]
syscall: fix a number of exec bugs on Plan 9

1. Readdirnames was erroneously returning an
   empty slice on every invocation.

2. The logic for determining which files to
   close before exec was incorrect.  If the
   set of files to be kept open (provided by
   the caller) did not include the files
   opened at startup, those files would be
   accidentally closed.

I also cleaned up readdupdevice while I was
in the vicinity.

R=golang-dev, seed, rsc
CC=golang-dev
https://golang.org/cl/6016044

13 years agogc: use correct line number for EOF syntax error
Anthony Martin [Thu, 26 Apr 2012 09:57:23 +0000 (02:57 -0700)]
gc: use correct line number for EOF syntax error

I also added some debugging code that's turned
on with -xx.

Fixes #3392.

R=rsc, lvd
CC=golang-dev
https://golang.org/cl/5909058

13 years agodoc: update wiki article to use html/template properly.
David Symonds [Thu, 26 Apr 2012 07:50:44 +0000 (17:50 +1000)]
doc: update wiki article to use html/template properly.

Fixes #3569.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6116055

13 years agodoc: simplify the image_draw article example for converting an image to
Nigel Tao [Thu, 26 Apr 2012 07:39:04 +0000 (17:39 +1000)]
doc: simplify the image_draw article example for converting an image to
RGBA.

R=adg, r, bsiegert
CC=golang-dev
https://golang.org/cl/6119054

13 years agocmd/godoc: update App Engine README and script for Go 1
Shenghou Ma [Thu, 26 Apr 2012 06:24:53 +0000 (14:24 +0800)]
cmd/godoc: update App Engine README and script for Go 1

R=adg, dsymonds
CC=golang-dev
https://golang.org/cl/5849053

13 years agoexp/html: adjust inTableBodyIM to match spec
Andrew Balholm [Thu, 26 Apr 2012 01:48:35 +0000 (11:48 +1000)]
exp/html: adjust inTableBodyIM to match spec

Clean up flow of control.

Handle </tbody>, </tfoot>, and </thead>.

Pass 5 additional tests.

R=nigeltao
CC=golang-dev
https://golang.org/cl/6117057

13 years agotime: doc fix.
David Symonds [Thu, 26 Apr 2012 01:28:35 +0000 (11:28 +1000)]
time: doc fix.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6127050

13 years agocodereview: look for new release branches
Russ Cox [Wed, 25 Apr 2012 20:44:30 +0000 (13:44 -0700)]
codereview: look for new release branches

R=adg
CC=golang-dev
https://golang.org/cl/6127048

13 years agodashboard: sort user interface by internal counter, not date
Andrew Gerrand [Wed, 25 Apr 2012 20:01:08 +0000 (13:01 -0700)]
dashboard: sort user interface by internal counter, not date

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6114053

13 years agonet/http: ignore paths on CONNECT requests in ServeMux
Brad Fitzpatrick [Wed, 25 Apr 2012 19:46:16 +0000 (12:46 -0700)]
net/http: ignore paths on CONNECT requests in ServeMux

Fixes #3538

R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/6117058

13 years agomime: make ParseMediaType return zero results on error
Brad Fitzpatrick [Wed, 25 Apr 2012 19:01:01 +0000 (12:01 -0700)]
mime: make ParseMediaType return zero results on error

Fixes #3562

R=golang-dev, adg, rsc
CC=golang-dev
https://golang.org/cl/6119051

13 years agoruntime: use __tfork() syscall on openbsd
Joel Sing [Wed, 25 Apr 2012 14:08:02 +0000 (00:08 +1000)]
runtime: use __tfork() syscall on openbsd

Switch from using the rfork() syscall on OpenBSD, to the __tfork()
syscall.  The __tfork() syscall is the preferred way of creating
system threads and the rfork() syscall has recently been removed.

Note: this will break compatibility with OpenBSD releases prior to 5.1.

R=golang-dev, bradfitz, devon.odell, rsc
CC=golang-dev
https://golang.org/cl/6037048

13 years agoexp/locale/collate: Added Builder type for generating a complete
Marcel van Lohuizen [Wed, 25 Apr 2012 11:19:35 +0000 (13:19 +0200)]
exp/locale/collate: Added Builder type for generating a complete
collation table. At this moment, it only implements the generation of
a root table.

R=r
CC=golang-dev
https://golang.org/cl/6039047

13 years agoexp/locale/collate: Added skeleton for the higher-level types to provide
Marcel van Lohuizen [Wed, 25 Apr 2012 11:19:00 +0000 (13:19 +0200)]
exp/locale/collate: Added skeleton for the higher-level types to provide
context for change lists of lower-level types. The public APIs are defined
in builder.go and collate.go. Type table is the glue between the lower and
higher level code and might be a good starting point for understanding the
collation code.

R=r, r
CC=golang-dev
https://golang.org/cl/5999053

13 years agoexp/locale/collate: added trie for associating colElems to runes.
Marcel van Lohuizen [Wed, 25 Apr 2012 11:16:57 +0000 (13:16 +0200)]
exp/locale/collate: added trie for associating colElems to runes.
The trie code looks a lot like the trie in exp/norm. It uses different
types, however.  Also, there is only a lookup for []byte and the unsafe
lookup methods have been dropped, as well as sparse mode.
There is now a method for generating a trie. To output Go code, one now needs
to first generate a trie and then call print() on it.

R=r, r, mpvl
CC=golang-dev
https://golang.org/cl/5966064

13 years agoexp/locale/collate: added representation for collation elements
Marcel van Lohuizen [Wed, 25 Apr 2012 11:16:24 +0000 (13:16 +0200)]
exp/locale/collate: added representation for collation elements
(see http://www.unicode.org/reports/tr10/).

R=r, r
CC=golang-dev
https://golang.org/cl/5981048

13 years agoexp/locale/collate: implementation of trie that is used for detecting contractions.
Marcel van Lohuizen [Wed, 25 Apr 2012 11:15:48 +0000 (13:15 +0200)]
exp/locale/collate: implementation of trie that is used for detecting contractions.
(See http://www.unicode.org/reports/tr10/#Contractions.)  Each rune that is at the
start of any contraction is associated a trie. This trie, in turn, may be shared
by other runes that have the same set of suffixes.

R=r, r
CC=golang-dev
https://golang.org/cl/5970066

13 years agonet/http: revert 97d027b3aa68
Gustavo Niemeyer [Wed, 25 Apr 2012 05:32:51 +0000 (02:32 -0300)]
net/http: revert 97d027b3aa68

Revert the following change set:

        changeset:   13018:97d027b3aa68
        user:        Gustavo Niemeyer <gustavo@niemeyer.net>
        date:        Mon Apr 23 22:00:16 2012 -0300
        summary:     net/http: allow clients to disable keep-alive

This broke a test on Windows 64 and somebody else
will have to check.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6112054

13 years agocrypto/rand: use io.ReadFull in test
Ian Lance Taylor [Wed, 25 Apr 2012 04:36:42 +0000 (21:36 -0700)]
crypto/rand: use io.ReadFull in test

On Solaris versions before Solaris 11, the kernel will not
return more than 1040 on a single read from /dev/urandom.

R=golang-dev, agl, bradfitz, rsc, iant, dchest
CC=golang-dev
https://golang.org/cl/6113046

13 years agoencoding/json: allow punctuation in tag names
Bobby Powers [Wed, 25 Apr 2012 04:33:33 +0000 (14:33 +1000)]
encoding/json: allow punctuation in tag names

everything except backslash and the quote chars is fair game.

Fixes #3546.

R=rsc, r
CC=golang-dev
https://golang.org/cl/6048047

13 years agonet: fix crash of Listen with "" or nil laddr
Mikio Hara [Wed, 25 Apr 2012 03:29:14 +0000 (12:29 +0900)]
net: fix crash of Listen with "" or nil laddr

Fixes #3584.

R=dave, dsymonds, rsc
CC=golang-dev
https://golang.org/cl/6119043

13 years agobytes: add assembly version of IndexByte for ARM
Dave Cheney [Wed, 25 Apr 2012 03:18:31 +0000 (13:18 +1000)]
bytes: add assembly version of IndexByte for ARM

benchmark                        old ns/op    new ns/op    delta
BenchmarkIndexByte32                   459          126  -72.55%
BenchmarkIndexByte4K                 52404        10939  -79.13%
BenchmarkIndexByte4M              54470800     11177370  -79.48%
BenchmarkIndexByte64M           1010803000    178860500  -82.31%

benchmark                         old MB/s     new MB/s  speedup
BenchmarkIndexByte32                 69.58       252.63    3.63x
BenchmarkIndexByte4K                 78.16       374.42    4.79x
BenchmarkIndexByte4M                 77.00       375.25    4.87x
BenchmarkIndexByte64M                66.39       375.20    5.65x

R=rsc, minux.ma
CC=golang-dev
https://golang.org/cl/6106044

13 years agovet: check values for named constants as well as literals.
Rob Pike [Wed, 25 Apr 2012 02:14:38 +0000 (12:14 +1000)]
vet: check values for named constants as well as literals.
As in:
        const format = "%s"
        fmt.Printf(format, "hi")
Also fix a couple of bugs by rewriting the routine.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6099057

13 years agoall: fix errors found by go vet
Rob Pike [Wed, 25 Apr 2012 01:33:27 +0000 (11:33 +1000)]
all: fix errors found by go vet

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6125044

13 years agoexp/html: adjust inTableIM to match spec
Andrew Balholm [Wed, 25 Apr 2012 00:49:27 +0000 (10:49 +1000)]
exp/html: adjust inTableIM to match spec

Don't foster-parent text nodes that consist only of whitespace.
(I implemented this entirely in inTableIM instead of creating an
inTableTextIM, because the sole purpose of inTableTextIM seems to be
to combine character tokens into a string, which our tokenizer does
already.)

Use parseImpliedToken to clarify a couple of cases.

Handle <style>, <script>, <input>, and <form>.

Ignore doctype tokens.

Pass 20 additional tests.

R=nigeltao
CC=golang-dev
https://golang.org/cl/6117048

13 years agotest: add test for order of evaluation of map index on left of =
Ian Lance Taylor [Tue, 24 Apr 2012 17:17:26 +0000 (10:17 -0700)]
test: add test for order of evaluation of map index on left of =

Gccgo used to get this wrong.

R=golang-dev, bradfitz
CC=golang-dev
https://golang.org/cl/6121044

13 years agomisc/dist: more gophers for OS X installer
Mikkel Krautz [Tue, 24 Apr 2012 16:24:19 +0000 (09:24 -0700)]
misc/dist: more gophers for OS X installer

Replaces the default OS X installer background
with a more fitting image.

R=golang-dev
CC=golang-dev
https://golang.org/cl/6116043

13 years agoruntime: fix runtime.Breakpoint for ARM
Shenghou Ma [Tue, 24 Apr 2012 15:19:44 +0000 (23:19 +0800)]
runtime: fix runtime.Breakpoint for ARM

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6100053

13 years agocmd/5g: fix URL typo
Shenghou Ma [Tue, 24 Apr 2012 15:17:16 +0000 (23:17 +0800)]
cmd/5g: fix URL typo

R=golang-dev, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/5919054

13 years agoexp/html: make inBodyIM match spec
Andrew Balholm [Tue, 24 Apr 2012 05:27:48 +0000 (15:27 +1000)]
exp/html: make inBodyIM match spec

This CL corrects the remaining differences that I could find between the
implementation of inBodyIM and the spec:

Handle <rp> and <rt>.

Adjust SVG and MathML attributes.

Reconstruct active formatting elements in the "any other start tag" case.

Pass 7 additional tests.

R=nigeltao
CC=golang-dev
https://golang.org/cl/6101055

13 years agomime/multipart: report io.EOF correctly on part ending without newlines
Brad Fitzpatrick [Tue, 24 Apr 2012 05:26:48 +0000 (22:26 -0700)]
mime/multipart: report io.EOF correctly on part ending without newlines

If a part ends with "--boundary--", without a final "\r\n",
that's also a graceful EOF, and we should return io.EOF instead
of the fmt-wrapped io.EOF from bufio.Reader.ReadSlice.

I found this bug parsing an image attachment from gmail.
Minimal test case stripped down from the original
gmail-generated attachment included.

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/6118043

13 years agopath: document that Clean deletes trailing slashes.
Rob Pike [Tue, 24 Apr 2012 03:17:05 +0000 (13:17 +1000)]
path: document that Clean deletes trailing slashes.

Fixes #3492.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6112044

13 years agotext/template: improve the error reporting for unexported fields.
Rob Pike [Tue, 24 Apr 2012 03:11:59 +0000 (13:11 +1000)]
text/template: improve the error reporting for unexported fields.
Changes suggested by rsc after last CL.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6117044

13 years agonet/http: allow clients to disable keep-alive
Gustavo Niemeyer [Tue, 24 Apr 2012 01:00:16 +0000 (22:00 -0300)]
net/http: allow clients to disable keep-alive

Fixes #3540.

R=golang-dev, bradfitz, gustavo
CC=golang-dev
https://golang.org/cl/5996044

13 years agonet: fix typo in Listener.File() documentation
Rémy Oudompheng [Mon, 23 Apr 2012 23:27:19 +0000 (01:27 +0200)]
net: fix typo in Listener.File() documentation

R=golang-dev, dave, rsc
CC=golang-dev, remy
https://golang.org/cl/6097044

13 years agotest: test handling of negative float constants
Ian Lance Taylor [Mon, 23 Apr 2012 22:47:34 +0000 (15:47 -0700)]
test: test handling of negative float constants

This used to panic when compiled by gccgo.

Updates #2876.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6100055

13 years agotime: change float expression to ensure it is an integer
Ian Lance Taylor [Mon, 23 Apr 2012 22:46:54 +0000 (15:46 -0700)]
time: change float expression to ensure it is an integer

When I increased the number of bits that gccgo uses for
untyped floats, the expression 0.52*1e9 was no longer
integral.  This patch fixes that.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6113043

13 years agomisc/dist: require 10.6 or later for OS X .pkgs
Mikkel Krautz [Mon, 23 Apr 2012 21:56:03 +0000 (14:56 -0700)]
misc/dist: require 10.6 or later for OS X .pkgs

This changes the misc/dist program to generate OS X
packages using pkgbuild and productbuild.

The productbuild utility makes it easy to generate
packages with a custom Distribution file.  This allows
us to add an installcheck script that presents a
friendly message to users who are running on an old
version of Mac OS X.

The change also fixes a few issues with the
postinstall script:

 - In-repo version of the script has been made
   executable. Installers generated using the new
   tools couldn't execute it otherwise.

 - It now uses -d for checking for the existence
   of the Xcode specs directory.

 - The call to sudo.bash has been dropped since cov
   and prof aren't bundled with the binary
   distributions.

Fixes #3455.

Tested on 10.5.8, 10.6.0, 10.6.8 and 10.7.3.

R=adg, golang-dev
CC=golang-dev
https://golang.org/cl/5987044

13 years agocmd/gc: fix addresses escaping through closures called in-place.
Luuk van Dijk [Mon, 23 Apr 2012 19:39:01 +0000 (15:39 -0400)]
cmd/gc: fix addresses escaping through closures called in-place.

Fixes #3545.

R=rsc
CC=golang-dev
https://golang.org/cl/6061043

13 years agonet/http: lex cleanup
Pascal S. de Kloe [Mon, 23 Apr 2012 17:26:10 +0000 (10:26 -0700)]
net/http: lex cleanup

R=rsc, bradfitz
CC=golang-dev
https://golang.org/cl/6099043

13 years agomath: ARM assembly implementation for Abs
Shenghou Ma [Mon, 23 Apr 2012 15:47:36 +0000 (23:47 +0800)]
math: ARM assembly implementation for Abs

Obtained on 700MHz OMAP4460:
benchmark       old ns/op    new ns/op    delta
BenchmarkAbs           61           23  -61.63%

R=dave, remyoudompheng, mtj, rsc
CC=golang-dev
https://golang.org/cl/6094047

13 years agotext/template: detect unexported fields better
Rob Pike [Mon, 23 Apr 2012 05:39:02 +0000 (15:39 +1000)]
text/template: detect unexported fields better
Moves the error detection back into execution, where it used to be,
and improves the error message.
Rolls back most of 6009048, which broke lower-case keys in maps.
If it weren't for maps we could detect this at compile time rather than
execution time.

Fixes #3542.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6098051

13 years agoreflect: document and test TypeOf(nil)
Rob Pike [Mon, 23 Apr 2012 02:07:02 +0000 (12:07 +1000)]
reflect: document and test TypeOf(nil)
Fixes #3549.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6107047

13 years agoexp/html: add more cases to inBodyIM
Andrew Balholm [Sun, 22 Apr 2012 06:19:21 +0000 (16:19 +1000)]
exp/html: add more cases to inBodyIM

Don't set framesetOK to false for hidden input elements.

Handle <param>, <source>, <track>, <textarea>, <iframe>, <noembed>,
and <noscript>

Pass 7 additional tests.

R=nigeltao
CC=golang-dev
https://golang.org/cl/6094045

13 years agostrconv: 2x-4x speed improvement for atof64.
Rémy Oudompheng [Sat, 21 Apr 2012 11:56:51 +0000 (13:56 +0200)]
strconv: 2x-4x speed improvement for atof64.

benchmark                      old ns/op    new ns/op    delta
BenchmarkAtof64Decimal               344           71  -79.22%
BenchmarkAtof64Float                 397           90  -77.15%
BenchmarkAtof64FloatExp              445          241  -45.84%
BenchmarkAtof64Big                   731          324  -55.68%
BenchmarkAtof64RandomBits            761          453  -40.47%
BenchmarkAtof64RandomFloats          690          314  -54.49%

R=dave, rsc
CC=golang-dev, remy
https://golang.org/cl/5988053

13 years agocompress/zlib: minor fixes
Quan Yong Zhai [Sat, 21 Apr 2012 04:34:42 +0000 (14:34 +1000)]
compress/zlib: minor fixes

R=golang-dev, dave
CC=golang-dev
https://golang.org/cl/6058043

13 years agoruntime: add benchmark for complex128 division
Michael Chaten [Sat, 21 Apr 2012 03:24:41 +0000 (13:24 +1000)]
runtime: add benchmark for complex128 division

R=golang-dev, dave, rsc
CC=golang-dev, minux.ma
https://golang.org/cl/6070043

13 years agonet: fix race between Close and Read
Dave Cheney [Sat, 21 Apr 2012 00:01:32 +0000 (10:01 +1000)]
net: fix race between Close and Read

Fixes #3507.

Applied the suggested fix from rsc. If the connection
is in closing state then errClosing will bubble up to
the caller.

The fix has been applied to udp, ip and unix as well as
their code path include nil'ing c.fd on close. Func
tests are available in the linked issue that verified
the bug existed there as well.

R=rsc, fullung, alex.brainman, mikioh.mikioh
CC=golang-dev
https://golang.org/cl/6002053

13 years agoexp/html: more work on inBodyIM
Andrew Balholm [Fri, 20 Apr 2012 23:20:38 +0000 (09:20 +1000)]
exp/html: more work on inBodyIM

Reorder some cases.
Handle <pre>, <listing>, </form>, </li>, </dd>, </dt>, </h1>, </h2>,
</h3>, </h4>, </h5>, and </h6> tags.

Pass 6 additional tests.

R=golang-dev, nigeltao
CC=golang-dev
https://golang.org/cl/6089043

13 years agoruntime: disable memory profiler in gc_test
Ian Lance Taylor [Fri, 20 Apr 2012 18:36:06 +0000 (11:36 -0700)]
runtime: disable memory profiler in gc_test

This lets the test pass on PPC64 GNU/Linux, which uses a much
larger page size and thus uses more memory to hold blocks
allocated for memory profiling.

R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6048054

13 years agonet/http/httputil: Made reverseproxy test less flaky.
Colby Ranger [Fri, 20 Apr 2012 16:31:23 +0000 (09:31 -0700)]
net/http/httputil: Made reverseproxy test less flaky.

The reverseproxy test depended on the behavior of
runtime.NumGoroutines(), which makes no guarantee when
goroutines are reaped. Instead, modify the flushLoop()
to invoke a callback when it returns, so the exit
from the loop can be tested, instead of the number
of gorountines running.

R=bradfitz
CC=golang-dev
https://golang.org/cl/6068046

13 years agotest: use testlib in a few more cases (part 2)
Shenghou Ma [Fri, 20 Apr 2012 15:45:43 +0000 (23:45 +0800)]
test: use testlib in a few more cases (part 2)
        Introduced "runoutput" cmd for running generated program

R=golang-dev, iant, bradfitz, remyoudompheng
CC=golang-dev
https://golang.org/cl/5869049

13 years agodoc: don't wrap package names in directory listing
Andrew Gerrand [Fri, 20 Apr 2012 14:04:13 +0000 (10:04 -0400)]
doc: don't wrap package names in directory listing

Fixes #3522.

R=golang-dev, dsymonds
CC=golang-dev
https://golang.org/cl/6063054

13 years agoexp/html: start making inBodyIM match the spec
Andrew Balholm [Fri, 20 Apr 2012 05:48:13 +0000 (15:48 +1000)]
exp/html: start making inBodyIM match the spec

Reorder some start tags.

Improve handling of </body>.
Handle </html>.

Pass 2 additional tests (by handling </html>).

R=golang-dev, nigeltao
CC=golang-dev
https://golang.org/cl/6082043

13 years agoexp/html: ignore null bytes in text
Andrew Balholm [Fri, 20 Apr 2012 04:25:42 +0000 (14:25 +1000)]
exp/html: ignore null bytes in text

pass one additional test

R=golang-dev, nigeltao
CC=golang-dev
https://golang.org/cl/6048051

13 years agoexp/html: improve afterHeadIM
Andrew Balholm [Fri, 20 Apr 2012 00:48:10 +0000 (10:48 +1000)]
exp/html: improve afterHeadIM

Clean up the flow of control.
Fix the TODO for handling <html> tags.
Add a case to ignore doctype declarations.

Pass one additional test.

R=nigeltao
CC=golang-dev
https://golang.org/cl/6072047

13 years agosyscall: cleanly exit all Go procs on Plan 9
Akshat Kumar [Thu, 19 Apr 2012 23:31:26 +0000 (16:31 -0700)]
syscall: cleanly exit all Go procs on Plan 9

syscall.Exit would originally kill only the calling
Go proc, leaving behind other procs in the
same group. This change makes syscall.Exit call
runtime·exit, which due to CL
https://golang.org/cl/5617048
will cleanly exit all the Go procs in the group.

R=golang-dev, rsc, rminnich, remyoudompheng, ality, john
CC=golang-dev, mirtchovski
https://golang.org/cl/6036051

13 years agoexp/html: improve InHeadIM
Andrew Balholm [Thu, 19 Apr 2012 23:08:58 +0000 (09:08 +1000)]
exp/html: improve InHeadIM

Clean up the flow of control, and add a case for doctype tokens (to
ignore them).

R=nigeltao
CC=golang-dev
https://golang.org/cl/6069045

13 years agonet/http: add example for FileServer to mention StripPrefix
Shenghou Ma [Thu, 19 Apr 2012 16:41:10 +0000 (00:41 +0800)]
net/http: add example for FileServer to mention StripPrefix
        Fixes #3530.

R=golang-dev, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/6032052

13 years agoA+C: add Bjorn Tillenius (Individual CLA)
Brad Fitzpatrick [Thu, 19 Apr 2012 16:23:48 +0000 (09:23 -0700)]
A+C: add Bjorn Tillenius (Individual CLA)

R=golang-dev, kevlar
CC=golang-dev
https://golang.org/cl/6075045

13 years agoA+C: Add Michael Chaten (Individual CLA)
Brad Fitzpatrick [Thu, 19 Apr 2012 16:18:49 +0000 (09:18 -0700)]
A+C: Add Michael Chaten (Individual CLA)

R=golang-dev, kevlar
CC=golang-dev
https://golang.org/cl/6075044

13 years agoexp/html: add parseImpliedToken method to parser
Andrew Balholm [Thu, 19 Apr 2012 01:48:17 +0000 (11:48 +1000)]
exp/html: add parseImpliedToken method to parser

This method will allow us to be explicit about what we're doing when
we insert an implied token, and avoid repeating the logic involved in
multiple places.

R=nigeltao
CC=golang-dev
https://golang.org/cl/6060048