• Austin Clements's avatar
    runtime: fix checkmark scanning of finalizers · 2b19b6e3
    Austin Clements authored
    Currently work.finalizersDone is reset only at the beginning of
    gcStart. As a result, it will be set when checkmark runs, so checkmark
    will skip scanning finalizers. Hence, if there are any bugs that cause
    the regular scan of finalizers to miss pointers, checkmark will also
    miss them and fail to detect the missed pointer.
    
    Fix this by resetting finalizersDone in gcResetMarkState. This way it
    gets reset before any full mark, which is exactly what we want.
    
    Change-Id: I4ddb5eba5b3b97e52aaf3e08fd9aa692bda32b20
    Reviewed-on: https://go-review.googlesource.com/20332
    Run-TryBot: Austin Clements <austin@google.com>
    Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    2b19b6e3
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...