runtime: minor clarifications of markroot

This puts the _Root* indexes in a more friendly order and tweaks
markrootSpans to use a for-range loop instead of its own indexing.

Change-Id: I2c18d55c9a673ea396b6424d51ef4997a1a74825
Reviewed-on: https://go-review.googlesource.com/14548
Reviewed-by: Rick Hudson <rlh@golang.org>
diff --git a/src/runtime/mgc.go b/src/runtime/mgc.go
index 7fdd93b..848e8f6 100644
--- a/src/runtime/mgc.go
+++ b/src/runtime/mgc.go
@@ -126,13 +126,14 @@
 	_DebugGC         = 0
 	_ConcurrentSweep = true
 	_FinBlockSize    = 4 * 1024
+
 	_RootData        = 0
 	_RootBss         = 1
 	_RootFinalizers  = 2
-	_RootSpans0      = 3
+	_RootFlushCaches = 3
+	_RootSpans0      = 4
 	_RootSpansShards = 128
-	_RootFlushCaches = _RootSpans0 + _RootSpansShards
-	_RootCount       = _RootFlushCaches + 1
+	_RootCount       = _RootSpans0 + _RootSpansShards
 
 	// sweepMinHeapDistance is a lower bound on the heap distance
 	// (in bytes) reserved for concurrent sweeping between GC
diff --git a/src/runtime/mgcmark.go b/src/runtime/mgcmark.go
index 128a163..c8f8a66 100644
--- a/src/runtime/mgcmark.go
+++ b/src/runtime/mgcmark.go
@@ -121,8 +121,7 @@
 	sg := mheap_.sweepgen
 	startSpan := shard * len(work.spans) / _RootSpansShards
 	endSpan := (shard + 1) * len(work.spans) / _RootSpansShards
-	for spanidx := startSpan; spanidx < endSpan; spanidx++ {
-		s := work.spans[spanidx]
+	for _, s := range work.spans[startSpan:endSpan] {
 		if s.state != mSpanInUse {
 			continue
 		}