Calling a deferred function currently requires changing from a uintptr to the function code to a Go function value. That is done by setting the value of a func local variable using unsafe.Pointer. The local variable will always be on the stack. Adjust the code that sets the local variable to avoid generating a write barrier. A write barrier is never needed here. Also, for deferreturn, we must avoid write barriers entirely when called from a cgo function; that requires more than just this, but this is a start. The test for this is runtime tests that use the go tool; these are not currently run, but they will be in the future. Reviewed-on: https://go-review.googlesource.com/46455 From-SVN: r249559
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
config | Loading commit data... | |
go | 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... | |
config.h.in | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
godeps.sh | Loading commit data... | |
libgo.imp | Loading commit data... | |
match.sh | Loading commit data... | |
merge.sh | Loading commit data... | |
mkrsysinfo.sh | Loading commit data... | |
mksigtab.sh | Loading commit data... | |
mksysinfo.sh | Loading commit data... | |
mvifdiff.sh | Loading commit data... | |
sysinfo.c | Loading commit data... |