1
0
mirror of https://github.com/golang/go synced 2024-11-18 11:44:45 -07:00

runtime: fix gccheckmark mode and enable by default

It was testing the mark bits on what roots pointed at,
but not the remainder of the live heap, because in
CL 2991 I accidentally inverted this check during
refactoring.

The next CL will turn it back off by default again,
but I want one run on the builders with the full
checkmark checks.

Change-Id: Ic166458cea25c0a56e5387fc527cb166ff2e5ada
Reviewed-on: https://go-review.googlesource.com/9824
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Rick Hudson <rlh@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
Russ Cox 2015-05-07 15:29:48 -04:00
parent b6e178ed7e
commit 9626561030
2 changed files with 2 additions and 1 deletions

View File

@ -673,7 +673,7 @@ func greyobject(obj, base, off uintptr, hbits heapBits, span *mspan, gcw *gcWork
throw("checkmark found unmarked object")
}
if !hbits.isCheckmarked() {
if hbits.isCheckmarked() {
return
}
hbits.setCheckmarked()

View File

@ -336,6 +336,7 @@ var dbgvars = []dbgVar{
}
func parsedebugvars() {
debug.gccheckmark=1
for p := gogetenv("GODEBUG"); p != ""; {
field := ""
i := index(p, ",")