]> Cypherpunks repositories - gostls13.git/commit
runtime: remove rescan list
authorAustin Clements <austin@google.com>
Thu, 9 Feb 2017 16:50:26 +0000 (11:50 -0500)
committerAustin Clements <austin@google.com>
Tue, 14 Feb 2017 15:52:51 +0000 (15:52 +0000)
commitc5ebcd2c8ac6c5bdf85ec0a346974efd4b0cbe49
tree35fd3a982fab5920e16f77b93783bf4f94a5dab1
parent7aeb915d6b1f90657e67e4722d13624b7109b8d5
runtime: remove rescan list

With the hybrid barrier, rescanning stacks is no longer necessary so
the rescan list is no longer necessary. Remove it.

This leaves the gcrescanstacks GODEBUG variable, since it's useful for
debugging, but changes it to simply walk all of the Gs to rescan
stacks rather than using the rescan list.

We could also remove g.gcscanvalid, which is effectively a distributed
rescan list. However, it's still useful for gcrescanstacks mode and it
adds little complexity, so we'll leave it in.

Fixes #17099.
Updates #17503.

Change-Id: I776d43f0729567335ef1bfd145b75c74de2cc7a9
Reviewed-on: https://go-review.googlesource.com/36619
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
src/runtime/mgc.go
src/runtime/mgcmark.go
src/runtime/proc.go
src/runtime/runtime2.go