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:
parent
b6e178ed7e
commit
9626561030
@ -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, ",")
|
||||
|
Loading…
Reference in New Issue
Block a user