runtime: properly synchronize GC and finalizer goroutine This is needed for preemptive scheduler, because the goroutine can be preempted at surprising points.
runtime: properly synchronize GC and finalizer goroutine
This is needed for preemptive scheduler, because the goroutine
can be preempted at surprising points.

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

apparentlymart/golang,pombredanne/go-deleteme,apparentlymart/golang,pombredanne/go-deleteme,gnanderson/go,apparentlymart/golang,tv42/old-go,pombredanne/go-deleteme,gnanderson/go,gnanderson/go,apparentlymart/golang,apparentlymart/golang,pombredanne/go-deleteme,gnanderson/go,tv42/old-go,gnanderson/go,apparentlymart/golang,tv42/old-go,pombredanne/go-deleteme,pombredanne/go-deleteme,tv42/old-go,gnanderson/go,pombredanne/go-deleteme,apparentlymart/golang,tv42/old-go,tv42/old-go,gnanderson/go,tv42/old-go