cmd/go: assume that code in $GOROOT is up to date

Do not check compiler/linker timestamps for packages that are in the
$GOROOT. Avoids trying to rebuild non-writable standard packages when
timestamps have not been retained on the Go binaries.

Fixes issue 4106.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6533053
cmd/go, cmd/ld: fix libgcc order and add __image_base__ symbol for windows
        Fixes issue 4063.

R=alex.brainman, rsc
CC=golang-dev
http://codereview.appspot.com/6543066
doc/go1.1: fix metadata json format

R=golang-dev, bradfitz
CC=golang-dev
http://codereview.appspot.com/6570054

Committer: Brad Fitzpatrick <bradfitz@golang.org>
spec: permit trailing comma in conversions

Also: Adjust prose in Conversions section
to be consistent.

This is a backward-compatible syntax change.
For a discussion see issue 2568.

Fixes issue 2568.
Fixes issue 4123.

R=golang-dev, r, iant, rsc
CC=golang-dev
http://codereview.appspot.com/6572049
codereview: use subprocess.call() instead of os.spawnvp() for portability

Fixes issue 4121.

R=golang-dev, minux.ma, dave, r
CC=golang-dev
http://codereview.appspot.com/6555049

Committer: Shenghou Ma <minux.ma@gmail.com>
cmd/6a, cmd/6l: add support for AES-NI instrutions and PSHUFD
This CL adds support for the these 7 new instructions to 6a/6l in
preparation of the upcoming CL for AES-NI accelerated crypto/aes:
AESENC, AESENCLAST, AESDEC, AESDECLAST, AESIMC, AESKEYGENASSIST,
and PSHUFD.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/5970055
crypto/aes: speed up using AES-NI on amd64

This CL requires CL 5970055.

benchmark           old ns/op    new ns/op    delta
BenchmarkEncrypt          161           23  -85.71%
BenchmarkDecrypt          158           24  -84.24%
BenchmarkExpand           526           62  -88.21%

benchmark            old MB/s     new MB/s  speedup
BenchmarkEncrypt        99.32       696.19    7.01x
BenchmarkDecrypt       100.93       641.56    6.36x

R=golang-dev, bradfitz, dave, rsc
CC=golang-dev
http://codereview.appspot.com/6549055
doc: add important info for would-be go contributors.

Link to the "installing from source" docs instead of the "installing" docs.

Remind would-be hacker to switch to the default branch from the release branch.

R=rsc
CC=golang-dev
http://codereview.appspot.com/6559043

Committer: Russ Cox <rsc@golang.org>
crypto/x509: add Plan 9 root certificate location

R=golang-dev
CC=golang-dev, rsc
http://codereview.appspot.com/6571056

Committer: Russ Cox <rsc@golang.org>
cmd/gc: Don't calculate second value in range if it is blank.

Low hanging fruit optimization. Will remove an expensive copy if the range variable is an array.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6564052
cmd/6g, cmd/8g: fix two "out of fixed registers" cases.

In two cases, registers were allocated too early resulting
in exhausting of available registers when nesting these
operations.

The case of method calls was due to missing cases in igen,
which only makes calls but doesn't allocate a register for
the result.

The case of 8-bit multiplication was due to a wrong order
in register allocation when Ullman numbers were bigger on the
RHS.

Fixes issue 3907.
Fixes issue 4156.

R=rsc
CC=golang-dev, remy
http://codereview.appspot.com/6560054
net: spread fd over several pollservers.

Lighten contention without preventing further improvements on pollservers.
Connections are spread over Min(GOMAXPROCS, NumCPU, 8) pollserver instances.

Median of 10 runs, 4 cores @ 3.4GHz, amd/linux-3.2:

BenchmarkTCPOneShot                171917 ns/op   175194 ns/op      1.91%
BenchmarkTCPOneShot-2              101413 ns/op   109462 ns/op      7.94%
BenchmarkTCPOneShot-4               91796 ns/op    35712 ns/op    -61.10%
BenchmarkTCPOneShot-6               90938 ns/op    30607 ns/op    -66.34%
BenchmarkTCPOneShot-8               90374 ns/op    29150 ns/op    -67.75%
BenchmarkTCPOneShot-16             101089 ns/op   111526 ns/op     10.32%

BenchmarkTCPOneShotTimeout         174986 ns/op   178606 ns/op      2.07%
BenchmarkTCPOneShotTimeout-2       101585 ns/op   110678 ns/op      8.95%
BenchmarkTCPOneShotTimeout-4        91547 ns/op    35931 ns/op    -60.75%
BenchmarkTCPOneShotTimeout-6        91496 ns/op    31019 ns/op    -66.10%
BenchmarkTCPOneShotTimeout-8        90670 ns/op    29531 ns/op    -67.43%
BenchmarkTCPOneShotTimeout-16      101013 ns/op   106026 ns/op      4.96%

BenchmarkTCPPersistent              51731 ns/op    53324 ns/op      3.08%
BenchmarkTCPPersistent-2            32888 ns/op    30678 ns/op     -6.72%
BenchmarkTCPPersistent-4            25751 ns/op    15595 ns/op    -39.44%
BenchmarkTCPPersistent-6            26737 ns/op     9805 ns/op    -63.33%
BenchmarkTCPPersistent-8            26850 ns/op     9730 ns/op    -63.76%
BenchmarkTCPPersistent-16          104449 ns/op   102838 ns/op     -1.54%

BenchmarkTCPPersistentTimeout       51806 ns/op    53281 ns/op      2.85%
BenchmarkTCPPersistentTimeout-2     32956 ns/op    30895 ns/op     -6.25%
BenchmarkTCPPersistentTimeout-4     25994 ns/op    18111 ns/op    -30.33%
BenchmarkTCPPersistentTimeout-6     26679 ns/op     9846 ns/op    -63.09%
BenchmarkTCPPersistentTimeout-8     26810 ns/op     9727 ns/op    -63.72%
BenchmarkTCPPersistentTimeout-16   101652 ns/op   104410 ns/op      2.71%

R=rsc, dvyukov, dave, mikioh.mikioh, bradfitz, remyoudompheng
CC=golang-dev
http://codereview.appspot.com/6496054

Committer: Russ Cox <rsc@golang.org>
fmt: allow # and x together for strings
Silly and small but easy to be consistent.
To make it worthwhile, I eliminated an allocation when using
%x on a byte slice.

Fixes issue 4149.

R=golang-dev, rsc
CC=golang-dev
http://codereview.appspot.com/6574046
lzw: fix Write returning the wrong number of bytes written.

Fixes issue 4160.

R=rsc, r
CC=golang-dev
http://codereview.appspot.com/6564060
cmd/api: delete redundant text from deletion message

R=bradfitz, minux.ma, rsc
CC=golang-dev
http://codereview.appspot.com/6543064
CLA: Josh Holland <jrh@joshh.co.uk> individual contributor

R=golang-dev, dsymonds
CC=golang-dev
http://codereview.appspot.com/6568059
text/template: fix typo of errorf as error in comment.

R=r, minux.ma
CC=gobot, golang-dev
http://codereview.appspot.com/6506120

Committer: Rob Pike <r@golang.org>
bufio: Implement io.WriterTo for (*Reader)

This is part 1 of 2 for issue 4028

benchmark                       old ns/op    new ns/op    delta
BenchmarkReaderCopyOptimal          33495         9849  -70.60%
BenchmarkReaderCopyUnoptimal        70631        27041  -61.72%
BenchmarkReaderCopyOldImpl          51407        52970   +3.04%

Update issue 4028

R=dave, nigeltao, rsc, bradfitz, rogpeppe
CC=golang-dev
http://codereview.appspot.com/6548047

Committer: Nigel Tao <nigeltao@golang.org>
cmd/[568]g: header cleanup.

R=golang-dev, r
CC=golang-dev
http://codereview.appspot.com/6573059