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 |
---|---|---|
.. | ||
LICENSE | Loading commit data... | |
MERGE | Loading commit data... | |
PATENTS | Loading commit data... | |
README | Loading commit data... | |
ast-dump.cc | Loading commit data... | |
ast-dump.h | Loading commit data... | |
backend.h | Loading commit data... | |
escape.cc | Loading commit data... | |
escape.h | Loading commit data... | |
export.cc | Loading commit data... | |
export.h | Loading commit data... | |
expressions.cc | Loading commit data... | |
expressions.h | Loading commit data... | |
go-diagnostics.cc | Loading commit data... | |
go-diagnostics.h | Loading commit data... | |
go-dump.cc | Loading commit data... | |
go-dump.h | Loading commit data... | |
go-encode-id.cc | Loading commit data... | |
go-encode-id.h | Loading commit data... | |
go-linemap.h | Loading commit data... | |
go-optimize.cc | Loading commit data... | |
go-optimize.h | Loading commit data... | |
go-sha1.h | Loading commit data... | |
go.cc | Loading commit data... | |
gogo.cc | Loading commit data... | |
gogo.h | Loading commit data... | |
import-archive.cc | Loading commit data... | |
import.cc | Loading commit data... | |
import.h | Loading commit data... | |
lex.cc | Loading commit data... | |
lex.h | Loading commit data... | |
names.cc | Loading commit data... | |
operator.h | Loading commit data... | |
parse.cc | Loading commit data... | |
parse.h | Loading commit data... | |
runtime.cc | Loading commit data... | |
runtime.def | Loading commit data... | |
runtime.h | Loading commit data... | |
statements.cc | Loading commit data... | |
statements.h | Loading commit data... | |
string-dump.h | Loading commit data... | |
types.cc | Loading commit data... | |
types.h | Loading commit data... | |
unsafe.cc | Loading commit data... | |
wb.cc | Loading commit data... |