[release-branch.go1.4] runtime: don't fail if we find a pointer to an invalid span on 32 bit
[release-branch.go1.4] runtime: don't fail if we find a pointer to an invalid span on 32 bit

The 32-bit heap may have holes in it.  Pointers to (non-heap) objects
in those holes shouldn't cause the GC to throw.

This change is somewhat of a band-aid fix for 1.4.2.  We should do
a more thorough fix for tip (keep track of the holes in the heap
with special MSpans, say).

Update #9872

Change-Id: Ife9ba27b77ae6ac5a6792d249c68893b3df62134
Reviewed-on: https://go-review.googlesource.com/4920
Run-TryBot: Keith Randall <8c99c3a9284e493be632950b84cd789d08ed3e9d@golang.org>
Reviewed-by: Russ Cox <5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org>

gomini/go-mips32,gomini/go-mips32,gomini/go-mips32,gomini/go-mips32,gomini/go-mips32,gomini/go-mips32,gomini/go-mips32,gomini/go-mips32