runtime: reset typed dangling pointer
If for whatever reason seh points into Go heap region,
the dangling pointer will cause memory corruption during GC.
Update issue 5193.

R=golang-dev, alex.brainman, iant
CC=golang-dev
https://codereview.appspot.com/8402045
runtime: reset dangling typed pointer
+untype it because it can point to different types
Update issue 5193.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/8454043
runtime: replace union in MHeap with a struct
Unions break precise GC.
Update issue 5193.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/8368044
runtime: replace unions with structs
Unions can break precise GC.
Update issue 5193.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/8456043
runtime: change Lock from union to struct
Unions can break precise GC.
Update issue 5193.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/8457043
runtime: change Note from union to struct
Unions can break precise GC.
Update issue 5193.

R=golang-dev, iant
CC=golang-dev
https://codereview.appspot.com/8362046
runtime: make CgoMal alloc field void*

This makes it an unsafe.Pointer in Go so the garbage collector
will treat it as a pointer to untyped data, not a pointer to
bytes.

R=golang-dev, dvyukov
CC=golang-dev
https://codereview.appspot.com/8286045
runtime: fix deadlock in network poller
The invariant is that there must be at least one running P or a thread polling network.
It was broken.
Fixes issue 5216.

R=golang-dev, bradfitz, r
CC=golang-dev
https://codereview.appspot.com/8459043
runtime: gofmt -s

R=golang-dev, iant, dave
CC=golang-dev
https://codereview.appspot.com/8253045

Committer: Dave Cheney <dave@cheney.net>
lib9: handle empty TMPDIR more gracefully.

Before, an empty TMPDIR would lead to:
cannot create <nil>/go.o: No such file or directory

R=golang-dev, iant, dave, bradfitz
CC=golang-dev
https://codereview.appspot.com/8355045

Committer: Brad Fitzpatrick <bradfitz@golang.org>
runtime, runtime/debug, runtime/race: deflake tests

R=golang-dev, dvyukov, bradfitz
CC=golang-dev
https://codereview.appspot.com/8366044

Committer: Brad Fitzpatrick <bradfitz@golang.org>
test: fix flaky NaN-key map complexity test

Don't measure wall time in map.go. Keep it portable
and only test NaN, but not time.

Move time tests to mapnan.go and only measure user CPU time,
not wall time. It builds on Darwin and Linux, the primary
platforms where people hack on the runtime & in particular
maps. The runtime is shared, though, so we don't need it to
run on all of the platforms.

Fixes flaky build failures like:
http://build.golang.org/log/ba67eceefdeaa1142cb6c990a62fa3ffd8fd73f8

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