gc: bug219, bug239, bug240

Fixes #475.

R=ken2
CC=golang-dev
https://golang.org/cl/183157
4 files changed