In 1.11 writebarrierptr is going away, so change the compiler to call gcWriteBarrier instead. We weren't using gcWriteBarrier before; adjust the implementation to use the putFast method. This revealed a problem in the kickoff function. When using cgo, kickoff can be called on the g0 of an m allocated by newExtraM. In that case the m will generally have a p, but systemstack may be called by wbBufFlush as part of flushing the write barrier buffer. At that point the buffer is full, so we can not do a write barrier. So adjust the existing code in kickoff so that in the case where we are g0, don't do any write barrier at all. Reviewed-on: https://go-review.googlesource.com/131395 From-SVN: r264295
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
config | Loading commit data... | |
go | Loading commit data... | |
misc/cgo | Loading commit data... | |
runtime | Loading commit data... | |
testsuite | Loading commit data... | |
LICENSE | Loading commit data... | |
MERGE | Loading commit data... | |
Makefile.am | Loading commit data... | |
Makefile.in | Loading commit data... | |
PATENTS | Loading commit data... | |
README | Loading commit data... | |
README.gcc | Loading commit data... | |
VERSION | Loading commit data... | |
aclocal.m4 | Loading commit data... | |
check-packages.txt | Loading commit data... | |
config.h.in | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
goarch.sh | Loading commit data... | |
godeps.sh | Loading commit data... | |
gotool-packages.txt | Loading commit data... | |
libgo-packages.txt | Loading commit data... | |
libgo.imp | Loading commit data... | |
match.sh | Loading commit data... | |
merge.sh | Loading commit data... | |
mkrsysinfo.sh | Loading commit data... | |
mkruntimeinc.sh | Loading commit data... | |
mksigtab.sh | Loading commit data... | |
mksysinfo.sh | Loading commit data... | |
mvifdiff.sh | Loading commit data... | |
sysinfo.c | Loading commit data... |