runtime: record in-use spans in a page-indexed bitmap
runtime: record in-use spans in a page-indexed bitmap

This adds a bitmap indexed by page number that marks the starts of
in-use spans. This will be used to quickly find in-use spans with no
marked objects for sweeping.

For #18155.

Change-Id: Icee56f029cde502447193e136fa54a74c74326dd
Reviewed-on: https://go-review.googlesource.com/c/138957
Run-TryBot: Austin Clements <7ea35d812706d9213868749011af1ed4fa2f6aa0@google.com>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Rick Hudson <838bd060584c511f21c75c69ea04b7b120d86af0@golang.org>
Reviewed-by: Michael Knyszek <4473450dc5c88f06e1fb787f303d7805ec2aee65@google.com>

cloudflare/go,nawawi/go,nawawi/go,nawawi/go,CAFxX/go,cloudflare/go,CAFxX/go,nawawi/go,cloudflare/go,josharian/go,akutz/go,cloudflare/go,josharian/go,golang/go,akutz/go,josharian/go,akutz/go,nawawi/go,CAFxX/go,josharian/go,golang/go,nawawi/go,nawawi/go,golang/go,golang/go,cloudflare/go,cloudflare/go,cloudflare/go,cloudflare/go,akutz/go,CAFxX/go,CAFxX/go,josharian/go,josharian/go,akutz/go,nawawi/go,akutz/go,josharian/go,josharian/go,CAFxX/go,golang/go,golang/go,akutz/go,akutz/go,golang/go,CAFxX/go,golang/go,CAFxX/go