r274598 - in /trunk: gcc/go/gofrontend/MERGE li...

ian@gcc.gnu.org ian@gcc.gnu.org
Sat Aug 17 04:35:00 GMT 2019


Author: ian
Date: Sat Aug 17 04:35:37 2019
New Revision: 274598

URL: https://gcc.gnu.org/viewcvs?rev=274598&root=gcc&view=rev
Log:
    runtime: scan write barrier buffer conservatively
    
    In gccgo, we insert the write barriers in the frontend, and so we
    cannot completely prevent write barriers on stack writes. So it
    is possible for a bad pointer appearing in the write barrier
    buffer. When flushing the write barrier, treat it the same as
    sacnning the stack. In particular, don't mark a pointer if it
    does not point to an allocated object. We already have similar
    logic in greyobject. With this, hopefully, we can prevent an
    unallocated object from being marked completely.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/190599

Modified:
    trunk/gcc/go/gofrontend/MERGE
    trunk/libgo/go/runtime/mwbbuf.go



More information about the Gcc-cvs mailing list