]> Cypherpunks repositories - gostls13.git/log
gostls13.git
12 years agocmd/go: show $GOPATH in 'go env' output
Russ Cox [Mon, 30 Jul 2012 04:22:42 +0000 (00:22 -0400)]
cmd/go: show $GOPATH in 'go env' output

Also, sort output.

R=golang-dev, patrick, dave, iant
CC=golang-dev, patrick
https://golang.org/cl/6446064

12 years agomisc/dashboard/codereview: switch to using gobot to update CL reviewer info.
David Symonds [Mon, 30 Jul 2012 04:13:12 +0000 (14:13 +1000)]
misc/dashboard/codereview: switch to using gobot to update CL reviewer info.

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

12 years agomisc/dashboard/codereview: bump user-specific table limits to 100.
David Symonds [Mon, 30 Jul 2012 04:11:51 +0000 (14:11 +1000)]
misc/dashboard/codereview: bump user-specific table limits to 100.

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

12 years agonet/http: don't allow zero byte in FileServer paths
Brad Fitzpatrick [Mon, 30 Jul 2012 03:57:30 +0000 (13:57 +1000)]
net/http: don't allow zero byte in FileServer paths

Should probably be fixed in the syscall package, either
additional or instead of this CL.

Fixes #3842

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

12 years agomisc/dashboard/codereview: interpret zero reviewers as the CL being closed.
David Symonds [Mon, 30 Jul 2012 03:51:21 +0000 (13:51 +1000)]
misc/dashboard/codereview: interpret zero reviewers as the CL being closed.

This is the state when the CL has been submitted by someone other than
the CL author, but before the CL author has synched their client.

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

12 years agocmd/gc: point "no new variables" error at right line number.
Daniel Morsing [Mon, 30 Jul 2012 02:24:19 +0000 (22:24 -0400)]
cmd/gc: point "no new variables" error at right line number.

Fixes #3856.

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

12 years agomisc/dashboard/codereview: make all active CL tables hold up to 50 CLs.
David Symonds [Mon, 30 Jul 2012 01:45:17 +0000 (11:45 +1000)]
misc/dashboard/codereview: make all active CL tables hold up to 50 CLs.

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

12 years agomisc/dashboard/codereview: fix tag nesting.
David Symonds [Mon, 30 Jul 2012 01:37:20 +0000 (11:37 +1000)]
misc/dashboard/codereview: fix tag nesting.

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

12 years agomisc/dashboard/codereview: recognize "NOT LGTM".
David Symonds [Mon, 30 Jul 2012 00:54:50 +0000 (10:54 +1000)]
misc/dashboard/codereview: recognize "NOT LGTM".

A "NOT LGTM" overrules a previous "LGTM" by the same person, and vice versa.
"NOT LGTM"s are shown in the same location as LGTMs, colored red.

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

12 years agonet/http: don't modify Request Method's case
Brad Fitzpatrick [Mon, 30 Jul 2012 00:05:24 +0000 (10:05 +1000)]
net/http: don't modify Request Method's case

This fixes a data race (usually just harmlessly updating
"GET" to "GET"), but also follows RFC 2616 Sec 5.1.1 which
says that the request method is case-sensitive.

Fixes #3881

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

12 years agosyscall: apply comment from Mikioh
Russ Cox [Sun, 29 Jul 2012 23:50:23 +0000 (19:50 -0400)]
syscall: apply comment from Mikioh

This comment was suggested in CL 6456045
but never got applied.

R=mikioh, mikioh.mikioh
CC=golang-dev
https://golang.org/cl/6447056

12 years agosyscall: workaround accept() bug on Darwin
Alexey Borzenkov [Sun, 29 Jul 2012 23:02:24 +0000 (09:02 +1000)]
syscall: workaround accept() bug on Darwin

Darwin kernels have a bug in accept() where error result from
an internal call is not checked and socket is accepted instead
of ECONNABORTED error. However, such sockets have no sockaddr,
which results in EAFNOSUPPORT error from anyToSockaddr, making
Go http servers running on Mac OS X easily susceptible to
denial of service from simple port scans with nmap.
Fixes #3849.

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

12 years agoruntime/cgo: fix netbsd build
Benny Siegert [Sun, 29 Jul 2012 22:51:06 +0000 (18:51 -0400)]
runtime/cgo: fix netbsd build

Copy over freebsd.c to netbsd.c.

Fixes #3823.

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

12 years agomisc/vim: fix :Import insertion heuristic.
David Symonds [Sun, 29 Jul 2012 22:48:51 +0000 (08:48 +1000)]
misc/vim: fix :Import insertion heuristic.

If a factored import group has a blank line, assume it is dividing
separate groups of imports (e.g. standard library vs. site-specific).
        import (
                "bytes"
                "io"

                "mycorp/package"
        )

The most common case is inserting new standard library imports,
which are usually (stylistically) the first group, so we should drop
"net" in the above example immediately after "io".

Since this logic is getting non-trivial, add a test.

R=golang-dev, minux.ma, franciscossouza
CC=golang-dev
https://golang.org/cl/6445043

12 years agosyscall: don't clobber source files if mksyscall.pl fails.
Han-Wen Nienhuys [Sun, 29 Jul 2012 21:59:14 +0000 (17:59 -0400)]
syscall: don't clobber source files if mksyscall.pl fails.

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

12 years agoexp/html: replace NUL with U+FFFD in text in foreign content
Andrew Balholm [Sun, 29 Jul 2012 06:29:49 +0000 (16:29 +1000)]
exp/html: replace NUL with U+FFFD in text in foreign content

Pass 5 additional tests.

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

12 years agomisc/cgo/test: only run setgid test on GNU/Linux
Ian Lance Taylor [Sat, 28 Jul 2012 17:40:51 +0000 (10:40 -0700)]
misc/cgo/test: only run setgid test on GNU/Linux

Fixes #3874.

R=golang-dev, nj, r, minux.ma
CC=golang-dev
https://golang.org/cl/6446060

12 years agoexp/locale/collate: changed trie in first step towards support for multiple locales.
Marcel van Lohuizen [Sat, 28 Jul 2012 16:44:14 +0000 (18:44 +0200)]
exp/locale/collate: changed trie in first step towards support for multiple locales.
- Allow handles into the trie for different locales.  Multiple tables share the same
  try to allow for reuse of blocks.
- Significantly improved memory footprint and reduced allocations of trieNodes.
  This speeds up generation by about 30% and allows keeping trieNodes around
  for multiple locales during generation.
- Renamed print method to fprint.

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

12 years agoflag: fix bug in handling of booleans on error
Rob Pike [Fri, 27 Jul 2012 23:13:29 +0000 (16:13 -0700)]
flag: fix bug in handling of booleans on error
Fixes #3869.

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

12 years agolog/syslog: don't append \n if there is one
Shenghou Ma [Fri, 27 Jul 2012 18:22:27 +0000 (14:22 -0400)]
log/syslog: don't append \n if there is one
   pkg log already appends a linefeed to the log message,
so log/syslog doesn't need to append another.

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

12 years agoos: move epipecheck from file_posix.go and into file_unix.go to fix windows build
Alex Brainman [Fri, 27 Jul 2012 12:21:33 +0000 (22:21 +1000)]
os: move epipecheck from file_posix.go and into file_unix.go to fix windows build

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

12 years agoos: fix data race in epipecheck()
Dmitriy Vyukov [Fri, 27 Jul 2012 11:05:13 +0000 (15:05 +0400)]
os: fix data race in epipecheck()
Fixes #3860.

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

12 years agomisc/cgo/test: add test for issue 3871: cgo setgid hang on GNU/Linux
Ian Lance Taylor [Fri, 27 Jul 2012 06:21:41 +0000 (23:21 -0700)]
misc/cgo/test: add test for issue 3871: cgo setgid hang on GNU/Linux

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

12 years agoexp/html: parse CDATA sections in foreign content
Andrew Balholm [Fri, 27 Jul 2012 06:05:25 +0000 (16:05 +1000)]
exp/html: parse CDATA sections in foreign content

Also convert NUL to U+FFFD in comments.

Pass 23 additional tests.

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

12 years agoruntime: ignore signal 33 == SIGSETXID on GNU/Linux
Ian Lance Taylor [Fri, 27 Jul 2012 05:46:20 +0000 (22:46 -0700)]
runtime: ignore signal 33 == SIGSETXID on GNU/Linux

When a cgo program calls setuid, setgid, etc., the GNU/Linux
pthread library sends signal SIGSETXID to each thread to tell
it to update its UID info.  If Go is permitted to intercept
the default SIGSETXID signal handler, the program will hang.

This patch tells the runtime package to not try to intercept
SIGSETXID on GNU/Linux.  This will be odd if a Go program
wants to try to use that signal, but it means that cgo
programs that call setuid, etc., won't hang.

Fixes #3871.

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

12 years agogo/printer: don't crash if ast.FuncType.Params is nil
Robert Griesemer [Fri, 27 Jul 2012 00:09:11 +0000 (17:09 -0700)]
go/printer: don't crash if ast.FuncType.Params is nil

The go/ast comment for FuncType.Params says that the field may be nil.
Make sure the printer accepts such a value. The go/parser always sets
the field (to provide parenthesis position information), but a program
creating a Go AST from scatch may not.

Added corresponding test case.

Fixes #3870.

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

12 years agoexp/html: replace NUL bytes in plaintext, raw text, and RCDATA
Andrew Balholm [Thu, 26 Jul 2012 23:27:10 +0000 (09:27 +1000)]
exp/html: replace NUL bytes in plaintext, raw text, and RCDATA

If NUL bytes occur inside certain elements, convert them to U+FFFD
replacement character.

Pass 1 additional test.

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

12 years agoexp/types: process ast.Fun in checkObj; fix variadic function building
Andrew Wilkins [Thu, 26 Jul 2012 18:47:46 +0000 (11:47 -0700)]
exp/types: process ast.Fun in checkObj; fix variadic function building

Fixed creation of Func's, taking IsVariadic from parameter list rather
than results.

Updated checkObj to process ast.Fun objects.

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

12 years agoA+C: added Andrew Wilkins (individual contributor)
Robert Griesemer [Thu, 26 Jul 2012 18:47:29 +0000 (11:47 -0700)]
A+C: added Andrew Wilkins (individual contributor)

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

12 years agoexp/html: don't insert empty text nodes
Andrew Balholm [Thu, 26 Jul 2012 00:32:24 +0000 (10:32 +1000)]
exp/html: don't insert empty text nodes

Pass 1 additional test.

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

12 years agocgo: fix declarations in _cgo_export.c
Ian Lance Taylor [Wed, 25 Jul 2012 21:14:37 +0000 (14:14 -0700)]
cgo: fix declarations in _cgo_export.c

Declare crosscall2.  Declare the functions passed to it as
returning void, rather than relying on implicit return type.

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

12 years agocmd/godoc: delete -path flag
Dave Cheney [Wed, 25 Jul 2012 17:49:50 +0000 (10:49 -0700)]
cmd/godoc: delete -path flag

Fixes #3453.

R=golang-dev, gri, jeff, bradfitz
CC=golang-dev
https://golang.org/cl/6350086

12 years agotesting: allow concurrent use of T and B
Brad Fitzpatrick [Wed, 25 Jul 2012 17:17:27 +0000 (10:17 -0700)]
testing: allow concurrent use of T and B

Notably, allow concurrent logging and failing.

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

12 years agoexp/html: allow frameset if body contains whitespace
Andrew Balholm [Wed, 25 Jul 2012 02:09:58 +0000 (12:09 +1000)]
exp/html: allow frameset if body contains whitespace

If the body of an HTML document contains text, the <frameset> tag is
ignored. But not if the text is only whitespace.

Pass 4 additional tests.

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

12 years agoencoding/gob: test for type registration name.
David Symonds [Tue, 24 Jul 2012 23:31:27 +0000 (09:31 +1000)]
encoding/gob: test for type registration name.

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

12 years agonet: fix comment
Mikio Hara [Tue, 24 Jul 2012 12:57:18 +0000 (21:57 +0900)]
net: fix comment

RemoteAddr returns not only UDPAddr but IPAddr.

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

12 years agotext/template: fix bug in map indexing
Rob Pike [Mon, 23 Jul 2012 23:19:12 +0000 (16:19 -0700)]
text/template: fix bug in map indexing
If the key is not present, return value of the type of the element
not the type of the key. Also fix a test that should have caught this case.

Fixes #3850.

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

12 years agoencoding/gob: revert 6348067, which broke compatibility
Rob Pike [Mon, 23 Jul 2012 20:34:46 +0000 (13:34 -0700)]
encoding/gob: revert 6348067, which broke compatibility
Add commentary to explain better what's going on, but the
code change is a simple one-line reversal to the previous
form.

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

12 years agomisc/dashboard/codereview: add admin-only link to force-update a CL.
David Symonds [Mon, 23 Jul 2012 02:41:23 +0000 (12:41 +1000)]
misc/dashboard/codereview: add admin-only link to force-update a CL.

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

12 years agoexp/html: special handling for entities in attributes
Andrew Balholm [Mon, 23 Jul 2012 02:39:58 +0000 (12:39 +1000)]
exp/html: special handling for entities in attributes

Don't unescape entities in attributes when they don't end with
a semicolon and they are followed by '=', a letter, or a digit.

Pass 6 more tests from the WebKit test suite, plus one that was
commented out in token_test.go.

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

12 years agodoc: add two I/O talks to "Talks" section
Andrew Gerrand [Sun, 22 Jul 2012 23:35:53 +0000 (16:35 -0700)]
doc: add two I/O talks to "Talks" section

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

12 years agoencoding/binary: fix typo: ReadVarint returns an int64, not a uint64.
Patrick Mylund Nielsen [Sun, 22 Jul 2012 00:26:32 +0000 (10:26 +1000)]
encoding/binary: fix typo: ReadVarint returns an int64, not a uint64.

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

12 years agonet: remove unnecessary newline in testing.Logf from tests
Mikio Hara [Sat, 21 Jul 2012 16:49:58 +0000 (01:49 +0900)]
net: remove unnecessary newline in testing.Logf from tests

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

12 years agonet: fix file descriptor leak on FileListener, FileConn and FilePacketConn
Mikio Hara [Sat, 21 Jul 2012 16:48:15 +0000 (01:48 +0900)]
net: fix file descriptor leak on FileListener, FileConn and FilePacketConn

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

12 years agocgo: add -gccgopkgpath option to match gccgo -fgo-pkgpath
Ian Lance Taylor [Fri, 20 Jul 2012 23:58:08 +0000 (16:58 -0700)]
cgo: add -gccgopkgpath option to match gccgo -fgo-pkgpath

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

12 years agobytes: make Join return a new buffer on len(a) == 1
Gustavo Niemeyer [Fri, 20 Jul 2012 19:04:22 +0000 (16:04 -0300)]
bytes: make Join return a new buffer on len(a) == 1

Fixes #3844.

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

12 years agonet: fix typo
Mikio Hara [Thu, 19 Jul 2012 23:32:25 +0000 (08:32 +0900)]
net: fix typo

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

12 years agounicode/utf8: reject out-of-range runes.
Rob Pike [Thu, 19 Jul 2012 18:58:14 +0000 (11:58 -0700)]
unicode/utf8: reject out-of-range runes.
Surrogates are still admitted, but I have sent mail to golang-dev on that topic.

Fixes #3785.

R=golang-dev, rogpeppe, iant
CC=golang-dev
https://golang.org/cl/6398049

12 years agosync: mention that WaitGroup.Add panics
Rob Pike [Thu, 19 Jul 2012 18:55:03 +0000 (11:55 -0700)]
sync: mention that WaitGroup.Add panics
Fixes #3839.

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

12 years agonet/http: revert back to (and test) Go 1 CheckRedirect behavior
Brad Fitzpatrick [Wed, 18 Jul 2012 20:48:39 +0000 (13:48 -0700)]
net/http: revert back to (and test) Go 1 CheckRedirect behavior

If a Client's CheckRedirect function returns an error, we
again return both a non-nil *Response and a non-nil error.

Fixes #3795

R=golang-dev, n13m3y3r
CC=golang-dev
https://golang.org/cl/6429044

12 years agotesting: fix memory blowup when formatting many lines.
Rémy Oudompheng [Tue, 17 Jul 2012 05:56:25 +0000 (07:56 +0200)]
testing: fix memory blowup when formatting many lines.

Fixes #3830.

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

12 years agocmd/vet: provide flags to control which tests to run
Rob Pike [Mon, 16 Jul 2012 21:03:11 +0000 (14:03 -0700)]
cmd/vet: provide flags to control which tests to run
By default, all are still run, but a particular test can be
selected with the new flags.

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

12 years agofaq: add status section
Rob Pike [Mon, 16 Jul 2012 20:31:15 +0000 (13:31 -0700)]
faq: add status section
Fixes #3822.

R=golang-dev, r, dsymonds, minux.ma, adg
CC=golang-dev
https://golang.org/cl/6395043

12 years agoA+C: Peter Armitage (individual CLA)
Adam Langley [Mon, 16 Jul 2012 13:35:14 +0000 (09:35 -0400)]
A+C: Peter Armitage (individual CLA)

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

12 years agocompress/flate: fix panic when nlit is out of bounds.
Nigel Tao [Mon, 16 Jul 2012 02:01:18 +0000 (12:01 +1000)]
compress/flate: fix panic when nlit is out of bounds.

Fixes #3815.

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

12 years agoos: add missing full stop in comment
Benny Siegert [Sun, 15 Jul 2012 16:48:31 +0000 (09:48 -0700)]
os: add missing full stop in comment

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

12 years agobuild: revert 61d1d72136f7 (add few tests with GOMAXPROCS=32)
Dmitriy Vyukov [Sat, 14 Jul 2012 11:59:52 +0000 (15:59 +0400)]
build: revert 61d1d72136f7 (add few tests with GOMAXPROCS=32)
Some tests currently fail with GOMAXPROCS>1

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

12 years agobuild: add few tests with GOMAXPROCS=32 to run.bash
Dmitriy Vyukov [Sat, 14 Jul 2012 11:46:53 +0000 (15:46 +0400)]
build: add few tests with GOMAXPROCS=32 to run.bash
Some class of bugs (data races, runtime bugs) can be found
only with real parallelism.
Note that GOMAXPROCS=32 is somewhat different from go test -cpu=32,
this intentionally uses GOMAXPROCS to stress program bootstrap,
testing code, garbage collections, etc.
Package selection is mostly random.

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

12 years agoencoding/gob: disable fuzz tests unless command-line flag is set
Rob Pike [Fri, 13 Jul 2012 21:23:51 +0000 (14:23 -0700)]
encoding/gob: disable fuzz tests unless command-line flag is set

They can generate huge amounts of memory, causing failure on
small machines. Also they can be very slow. So slow that one test
was commented out! We uncomment it and use a flag.

Fixes #3742.

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

12 years agoexp/locale/collate: This CL includes the following changes:
Marcel van Lohuizen [Fri, 13 Jul 2012 09:38:22 +0000 (11:38 +0200)]
exp/locale/collate: This CL includes the following changes:
- Changed the representation of colElem to support a few cases
  for some languages not supported by the current format.
- Changed offsets for implicit primary values. This makes the
  values both easier to read and debug (last 4 nibbles are identical to
  implicit primary value) and also results in better packing.
- Fixed bug in weight conversion code that did not pop up yet by
  sheer luck.
Note that tables.go also includes changes to the contraction trie
from CL 6346092.

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

12 years agoexp/locale/collate: adjusted contraction trie to support Myanmar (Burmese),
Marcel van Lohuizen [Fri, 13 Jul 2012 09:38:00 +0000 (11:38 +0200)]
exp/locale/collate: adjusted contraction trie to support Myanmar (Burmese),
which has a rather large contraction table. The value of the next state
offset now starts after the current block, instead of before.  This is
slightly less efficient (on extra addition per state change), but gives
some extra range for the offsets.
Also introduced constants for final (0) and noIndex (0xFF).
tables.go is updated in a separate CL.

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

12 years agocmd/gc: reject use of ... with multiple-valued expressions.
Rémy Oudompheng [Fri, 13 Jul 2012 06:05:41 +0000 (08:05 +0200)]
cmd/gc: reject use of ... with multiple-valued expressions.

Fixes #3334.

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

12 years agoencoding/gob: reduce decoder memory
Rob Pike [Fri, 13 Jul 2012 03:53:17 +0000 (20:53 -0700)]
encoding/gob: reduce decoder memory
Gob decoding reads a whole message into memory and then
copies it into a bytes.Buffer. For large messages this wastes
an entire copy of the message. In this CL, we use a staging
buffer to avoid the large temporary.

Update #2539
RSS drops to 775MB from 1GB.
Active memory drops to 858317048 from 1027878136,
essentially the size of one copy of the input file.

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

12 years agobytes.Buffer: export the Grow method
Rob Pike [Fri, 13 Jul 2012 03:52:19 +0000 (20:52 -0700)]
bytes.Buffer: export the Grow method
Allows a client to pre-allocate buffer space that is known to be necessary,
avoiding expensive reallocations.

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

12 years agocmd/gc: avoid an internal error on invalid type switch.
Rémy Oudompheng [Thu, 12 Jul 2012 21:31:36 +0000 (23:31 +0200)]
cmd/gc: avoid an internal error on invalid type switch.

The error was caused by a call to implements() even when
the type switch variable was not an interface.

Fixes #3786.

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

12 years agocmd/gc: fix error message for type errors involving conversions.
Rémy Oudompheng [Thu, 12 Jul 2012 21:26:52 +0000 (23:26 +0200)]
cmd/gc: fix error message for type errors involving conversions.

Fixes #3818.

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

12 years agomat/big: more optimal Karatsuba threshold
Robert Griesemer [Thu, 12 Jul 2012 21:19:09 +0000 (14:19 -0700)]
mat/big: more optimal Karatsuba threshold

benchmark           old ns/op    new ns/op    delta
BenchmarkHilbert      6253043      6267289   +0.23%
BenchmarkMul         45355940     39490633  -12.93%

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

12 years agomath/big: minor performance tuning
Robert Griesemer [Thu, 12 Jul 2012 21:12:50 +0000 (14:12 -0700)]
math/big: minor performance tuning

Reuse temporary slice to avoid extra allocations
(originally done correctly by remyoudompheng@gmail.com
in https://golang.org/cl/6345075/).

benchmark           old ns/op    new ns/op    delta
BenchmarkHilbert      6252790      6262304   +0.15%
BenchmarkMul         45827438     45301002   -1.15%

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

12 years agoencoding/gob: fix check for short input in slice decode
Rob Pike [Thu, 12 Jul 2012 17:23:54 +0000 (10:23 -0700)]
encoding/gob: fix check for short input in slice decode

R=golang-dev, dsymonds, r, nigeltao
CC=golang-dev
https://golang.org/cl/6374059

12 years agomath/big: correct quadratic space complexity in Mul.
Rémy Oudompheng [Thu, 12 Jul 2012 17:18:24 +0000 (10:18 -0700)]
math/big: correct quadratic space complexity in Mul.

The previous implementation used to have a O(n) recursion
depth for unbalanced inputs. A test is added to check that a
reasonable amount of bytes is allocated in this case.

Fixes #3807.

R=golang-dev, dsymonds, gri
CC=golang-dev, remy
https://golang.org/cl/6345075

12 years agocmd/pack: remove unused paging logic
Dave Cheney [Thu, 12 Jul 2012 00:14:07 +0000 (10:14 +1000)]
cmd/pack: remove unused paging logic

This is the remainder of https://golang.org/cl/4601051.

Partially addresses issue 2705.

R=golang-dev, r, bradfitz, minux.ma
CC=golang-dev
https://golang.org/cl/6354066

12 years agonet/http: fix Transport race(s) with high GOMAXPROCS
Brad Fitzpatrick [Wed, 11 Jul 2012 23:40:44 +0000 (16:40 -0700)]
net/http: fix Transport race(s) with high GOMAXPROCS

Also adds a new test for GOMAXPROCS=16 explicitly, which now passes
reliably in a stress loop like:

$ go test -c
$ (while ./http.test -test.v -test.run=Concurrency; do echo pass; done ) 2>&1 | tee foo; less foo

(It used to fail very quickly and reliably on at least Linux/amd64)

Fixes #3793

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

12 years agospec: correct typo in string conversion examples.
Rémy Oudompheng [Wed, 11 Jul 2012 18:26:51 +0000 (20:26 +0200)]
spec: correct typo in string conversion examples.

R=golang-dev, dave, r
CC=golang-dev, remy
https://golang.org/cl/6378046

12 years agocrypto/rsa: left-pad PKCS#1 v1.5 outputs.
Adam Langley [Wed, 11 Jul 2012 16:47:12 +0000 (12:47 -0400)]
crypto/rsa: left-pad PKCS#1 v1.5 outputs.

OpenSSL requires that RSA signatures be exactly the same byte-length
as the modulus. Currently it'll reject ~1/256 of our signatures: those
that end up a byte shorter.

Fixes #3796.

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

12 years agowebsite: various html fixes
Dave Cheney [Wed, 11 Jul 2012 16:41:08 +0000 (09:41 -0700)]
website: various html fixes

Fixes #3424.

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

12 years agoencoding/asn1: promote untyped strings to UTF8 as needed.
Adam Langley [Tue, 10 Jul 2012 22:23:30 +0000 (18:23 -0400)]
encoding/asn1: promote untyped strings to UTF8 as needed.

Previously, strings that didn't have an explicit ASN.1 string type
were taken to be ASN.1 PrintableStrings. This resulted in an error if
a unrepresentable charactor was included.

For compatibility reasons, I'm too afraid to switch the default string
type to UTF8String, but this patch causes untyped strings to become
UTF8Strings if they contain a charactor that's not valid in a
PrintableString.

Fixes #3791.

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

12 years agocrypto/x509: exempt broken Entrust certificate from checks.
Adam Langley [Tue, 10 Jul 2012 19:57:51 +0000 (15:57 -0400)]
crypto/x509: exempt broken Entrust certificate from checks.

Entrust have issued a root certificate that's not marked as valid for
signing certificates.

This results in Go programs failing to validate certificates that
chain up to this root (i.e. gateway.push.apple.com:2195).

Although this is clearly a mistake on Entrust's part, it seems that we
will have to bodge around it.

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

12 years agostrconv: extend Grisu3 algorithm to float32.
Rémy Oudompheng [Tue, 10 Jul 2012 05:44:23 +0000 (07:44 +0200)]
strconv: extend Grisu3 algorithm to float32.

Also improve extfloat.Normalize to obtain a modest performance
gain in parsing, and add a shortcut path for exact integers.

benchmark                              old ns/op    new ns/op    delta
BenchmarkAtof64Decimal                        73           73   -0.54%
BenchmarkAtof64Float                          91           91   -0.54%
BenchmarkAtof64FloatExp                      198          180   -9.09%
BenchmarkAtof64Big                           307          308   +0.33%

BenchmarkAtof32Decimal                        72           72   +0.42%
BenchmarkAtof32Float                          83           83   -0.72%
BenchmarkAtof32FloatExp                      212          186  -12.26%
BenchmarkAtof32Random                        262          250   -4.58%

BenchmarkAppendFloatDecimal                  474          305  -35.65%
BenchmarkAppendFloat                         497          489   -1.61%
BenchmarkAppendFloatExp                      493          483   -2.03%
BenchmarkAppendFloatNegExp                   481          481   +0.00%
BenchmarkAppendFloatBig                      667          652   -2.25%

BenchmarkAppendFloat32Integer                338          307   -9.17%
BenchmarkAppendFloat32ExactFraction          364          439  +20.60%
BenchmarkAppendFloat32Point                 1299          490  -62.28%
BenchmarkAppendFloat32Exp                   2593          489  -81.14%
BenchmarkAppendFloat32NegExp                5116          481  -90.60%

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

12 years agosyscall/freebsd: remove Sendfile from unimplemented list
David G. Andersen [Mon, 9 Jul 2012 16:37:56 +0000 (09:37 -0700)]
syscall/freebsd: remove Sendfile from unimplemented list

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

12 years agopkg: Removing duplicated words ("of of", etc.), mostly from comments.
David G. Andersen [Sun, 8 Jul 2012 23:16:10 +0000 (09:16 +1000)]
pkg: Removing duplicated words ("of of", etc.), mostly from comments.

Ran 'double.pl' on the pkg tree to identify doubled words.
One change to an error string return in x509;  the rest are in comments.
Thanks to Matt Jibson for the idea.

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

12 years agoA+C: correct Matt Jibson
Matt Jibson [Sun, 8 Jul 2012 02:09:15 +0000 (12:09 +1000)]
A+C: correct Matt Jibson

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

12 years agodoc: various "the the" and other typos
Matthew William Jibson [Sun, 8 Jul 2012 01:57:04 +0000 (11:57 +1000)]
doc: various "the the" and other typos

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

12 years agoA+C: Matthew Jibson (individual CLA).
David Symonds [Sun, 8 Jul 2012 01:56:26 +0000 (11:56 +1000)]
A+C: Matthew Jibson (individual CLA).

R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/6349082

12 years agocmd/dist: Make verbose messages print to stderr
Pieter Droogendijk [Fri, 6 Jul 2012 05:00:18 +0000 (15:00 +1000)]
cmd/dist: Make verbose messages print to stderr

Made the following changes:
 - Export errprintf() from all three OS-specific modules
 - Added errprintf() to a.h
 - Moved errprintf() in windows.c under xprintf(), since they are so similar
 - Replaced all instances of xprintf() with errprintf() where a vflag check is done
Fixes #3788.

R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/6346056

12 years agomisc/chrome/gophertool: fix manifest
Shenghou Ma [Thu, 5 Jul 2012 20:52:13 +0000 (16:52 -0400)]
misc/chrome/gophertool: fix manifest
according to http://code.google.com/chrome/extensions/browserAction.html,
it should use "default_popup" instead of "popup".

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

12 years agocmd/cgo: make typedef map traversal order consistent
Shenghou Ma [Thu, 5 Jul 2012 19:24:33 +0000 (15:24 -0400)]
cmd/cgo: make typedef map traversal order consistent
        So that _cgo_gotypes.go will be the same for the same source
        code.

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

12 years agoruntime: move panic/defer/recover-related stuff to a separate file
Dmitriy Vyukov [Wed, 4 Jul 2012 10:52:51 +0000 (14:52 +0400)]
runtime: move panic/defer/recover-related stuff to a separate file
Move panic/defer/recover-related stuff from proc.c/runtime.c to a new file panic.c.
No semantic changes.
proc.c is 1800+ LOC and is a bit difficult to work with.

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

12 years agoreflect: reflect.Zero results are neither addressable nor settable
Robert Griesemer [Tue, 3 Jul 2012 23:06:24 +0000 (16:06 -0700)]
reflect: reflect.Zero results are neither addressable nor settable

This could be deduced from "The Laws of Reflection" but it seems
worthwhile highlighting it.

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

12 years agomath/rand: avoid use of math.Pow in tests.
Rémy Oudompheng [Tue, 3 Jul 2012 22:38:01 +0000 (00:38 +0200)]
math/rand: avoid use of math.Pow in tests.

The use of math.Pow for mere squaring can be extremely
slow on soft-float ARM. Even on systems with hardware
floating-point, a speedup in test duration is observed.

On amd64
Before: ok      math/rand       2.009s
After:  ok      math/rand       0.340s

Fixes #3740.

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

12 years agonet/http: clean up fs tests a bit
Brad Fitzpatrick [Tue, 3 Jul 2012 17:17:55 +0000 (10:17 -0700)]
net/http: clean up fs tests a bit

And fix some govet-caught format arg issues.

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

12 years agoencoding/gob: fix bug in Register
Rob Pike [Tue, 3 Jul 2012 17:05:27 +0000 (10:05 -0700)]
encoding/gob: fix bug in Register
The old code added a star but did not indirect the reflect.Type.

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

12 years agodoc/debugging_with_gdb: mention how to disable gc optimization
Shenghou Ma [Tue, 3 Jul 2012 16:50:03 +0000 (12:50 -0400)]
doc/debugging_with_gdb: mention how to disable gc optimization

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

12 years agosyscall: fix FreeBSD 386 sendfile
David G. Andersen [Tue, 3 Jul 2012 15:16:43 +0000 (08:16 -0700)]
syscall: fix FreeBSD 386 sendfile
The previous version was not handling an off_t (64 bit)
parameter on 32 bit i386 systems.  This patch splits sendfile
into two implementations in their respective arch-specific files.
Tested on FreeBSD amd64 and i386.

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

12 years agoruntime: refactor proc.c
Dmitriy Vyukov [Tue, 3 Jul 2012 08:54:13 +0000 (12:54 +0400)]
runtime: refactor proc.c
1. Rename 'g' and 'm' local vars to 'gp' and 'mp' (convention already used in some functions)
'g' and 'm' are global vars that mean current goroutine and current machine,
when they are shadowed by local vars, it's confusing, no ability to debug log both, etc.
2. White-space shuffling.
No semantic changes.
In preparation to bigger changes.

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

12 years agosyscall: use 32 bits structure for Getrlimit/Setrlimit on 386/ARM.
Han-Wen Nienhuys [Tue, 3 Jul 2012 05:57:32 +0000 (22:57 -0700)]
syscall: use 32 bits structure for Getrlimit/Setrlimit on 386/ARM.

Fixes #2492

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

12 years agocmd/gc: cache itab lookup in convT2I.
Nigel Tao [Mon, 2 Jul 2012 23:09:05 +0000 (09:09 +1000)]
cmd/gc: cache itab lookup in convT2I.

There may be further savings if convT2I can avoid the function call
if the cache is good and T is uintptr-shaped, a la convT2E, but that
will be a follow-up CL.

src/pkg/runtime:
benchmark                  old ns/op    new ns/op    delta
BenchmarkConvT2ISmall             43           15  -64.01%
BenchmarkConvT2IUintptr           45           14  -67.48%
BenchmarkConvT2ILarge            130          101  -22.31%

test/bench/go1:
benchmark                 old ns/op    new ns/op    delta
BenchmarkBinaryTree17    8588997000   8499058000   -1.05%
BenchmarkFannkuch11      5300392000   5358093000   +1.09%
BenchmarkGobDecode         30295580     31040190   +2.46%
BenchmarkGobEncode         18102070     17675650   -2.36%
BenchmarkGzip             774191400    771591400   -0.34%
BenchmarkGunzip           245915100    247464100   +0.63%
BenchmarkJSONEncode       123577000    121423050   -1.74%
BenchmarkJSONDecode       451969800    596256200  +31.92%
BenchmarkMandelbrot200     10060050     10072880   +0.13%
BenchmarkParse             10989840     11037710   +0.44%
BenchmarkRevcomp         1782666000   1716864000   -3.69%
BenchmarkTemplate         798286600    723234400   -9.40%

R=rsc, bradfitz, go.peter.90, daniel.morsing, dave, uriel
CC=golang-dev
https://golang.org/cl/6337058

12 years agomath/big: Remove unnecessary test from nat.go multiplication
David G. Andersen [Mon, 2 Jul 2012 22:30:00 +0000 (15:30 -0700)]
math/big: Remove unnecessary test from nat.go multiplication
The switch at the beginning of the function already ensures n > 1,
so testing for n < 2 is redundant.

R=golang-dev, gri
CC=golang-dev
https://golang.org/cl/6350051

12 years agoreflect: set GOMAXPROCS=1 in the malloc test
Dmitriy Vyukov [Mon, 2 Jul 2012 16:55:08 +0000 (20:55 +0400)]
reflect: set GOMAXPROCS=1 in the malloc test
Occasionally I see:
--- FAIL: TestAllocations-15 (0.00 seconds)
        all_test.go:1575: 6 mallocs after 100 iterations
Tested:
$ go test -cpu=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 reflect

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

12 years agonet/http: fix comment
Dmitriy Vyukov [Mon, 2 Jul 2012 16:10:31 +0000 (20:10 +0400)]
net/http: fix comment

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

12 years agoimage: fix doc typo
Shenghou Ma [Mon, 2 Jul 2012 03:12:42 +0000 (23:12 -0400)]
image: fix doc typo
     Fixes #3789.

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