cmd/6a, cmd/6l: add PCLMULQDQ instruction.

This Intel instruction implements multiplication in binary fields.

R=golang-dev, minux.ma, dave, rsc
CC=golang-dev
https://codereview.appspot.com/10428043
go/*: support for slices with cap: s[:j:k] and s[i:j:k]

Experimental, per rsc's proposal.

R=rsc
CC=golang-dev
https://codereview.appspot.com/10204043
testing: include cover mode in cover profile

R=adg, rsc
CC=golang-dev
https://codereview.appspot.com/10392049
go/parser: always provide a non-nil path for imports

The go/ast ImportSpec always requires a non-nil path.

R=adonovan
CC=golang-dev
https://codereview.appspot.com/10402047
spec: fix spec on conversions to match implementations

The existing compilers convert empty strings to empty
but non-nil byte and rune slices. The spec required
a nil byte and rune slice in those cases. That seems
an odd additional requirement. Adjust the spec to
match the reality.

Also, removed over-specification for conversions of
nil []byte and []rune: such nil slices already act
like empty slices and thus don't need extra language.
Added extra examples instead.

Fixes issue 5704.

R=rsc, r, iant
CC=golang-dev
https://codereview.appspot.com/10440045
syscall: reduce duplication between *bsd and linux

See discussion: https://groups.google.com/forum/#!topic/golang-dev/zSmH0lQxKAs

Part 1 of several.

Move identical types and functions to syscall_unix.go.

R=rsc, mikioh.mikioh, r
CC=golang-dev
https://codereview.appspot.com/10392048
time: handle integer overflow in Sub

If time.Sub results in a value that won't fit in a Duration (int64),
return either the min or max int64 value as appropriate.

Fixes issue 5011.

R=golang-dev, bradfitz, r, rsc
CC=golang-dev
https://codereview.appspot.com/10328043

Committer: Rob Pike <r@golang.org>
cmd/gc: fix pointer composite literals in exported if statements.

Fixes issue 4230 (again).

R=rsc, golang-dev, r
CC=golang-dev
https://codereview.appspot.com/10470043
os: rename error_posix.go to error_unix.go

The tradition is to use _posix when the platform extends beyond unix variants. As windows has its own file, rename to the more usual _unix.

R=golang-dev, r
CC=golang-dev
https://codereview.appspot.com/10320043
A+C: ChaiShushan (individual CLA)

Generated by addca.

R=gobot
CC=golang-dev
https://codereview.appspot.com/10482043
misc/notepadplus: add missing delete keyword

In general the description should describe what is added or fixed, not how it was done (the code does this), but in this case the cause was delete was missing, so the fix is to add it.

Fixes issue 5759.

R=adg
CC=dave, dominik.honnef, gobot, golang-dev
https://codereview.appspot.com/10476043

Committer: Andrew Gerrand <adg@golang.org>
misc/notepadplus: add missing operator keyword

In general the description should describe what is added or fixed,
not how it was done (the code does this), but in this
case the cause were "/ /= ;" was missing,
so the fix is to add it.

Fixes issue 5761.

R=golang-dev, adg
CC=golang-dev
https://codereview.appspot.com/10479043

Committer: Andrew Gerrand <adg@golang.org>
runtime: do not generate code during runtime in windows NewCallback

Update Issue 5494

R=golang-dev, minux.ma, rsc, iant
CC=golang-dev
https://codereview.appspot.com/10368043
compress/bzip2: don't panic on invalid input.

Fixes 5747.

R=golang-dev, r, bradfitz
CC=golang-dev
https://codereview.appspot.com/10401050
time: avoid garbage collector aliasing bug

Time is a tiny struct, so the compiler copies a Time by
copying each of the three fields.

The layout of a time on amd64 is [ptr int32 gap32 ptr].
Copying a Time onto a location that formerly held a pointer in the
second word changes only the low 32 bits, creating a different
but still plausible pointer. This confuses the garbage collector
when it appears in argument or result frames.

To avoid this problem, declare nsec as uintptr, so that there is
no gap on amd64 anymore, and therefore no partial pointers.

Note that rearranging the fields to put the int32 last still leaves
a gap - [ptr ptr int32 gap32] - because Time must have a total
size that is ptr-width aligned.

Update issue 5749

This CL is enough to fix the problem, but we should still do
the other actions listed in the initial report. We're not too far
from completely precise collection.

R=golang-dev, dvyukov, r
CC=golang-dev
https://codereview.appspot.com/10504043