Commit 96265610 authored by Russ Cox's avatar Russ Cox

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: default avatarRick Hudson <rlh@golang.org>
Reviewed-by: default avatarAustin Clements <austin@google.com>
parent b6e178ed
......@@ -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()
......
......@@ -336,6 +336,7 @@ var dbgvars = []dbgVar{
}
func parsedebugvars() {
debug.gccheckmark=1
for p := gogetenv("GODEBUG"); p != ""; {
field := ""
i := index(p, ",")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment