mirror of
https://github.com/golang/go.git
synced 2025-05-28 10:51:22 +00:00
For non-closure functions, the context register is uninitialized on entry and will not be used, but morestack saves it and then the garbage collector treats it as live. This can be a source of memory leaks if the context register points at otherwise dead memory. Avoid this by introducing a parallel set of morestack functions that clear the context register, and use those for the non-closure functions. I hope this will help with some of the finalizer flakiness, but it probably won't. Fixes #7244. LGTM=dvyukov R=khr, dvyukov CC=golang-codereviews https://golang.org/cl/71030044
The header files under this directory are strictly internal to the gc toolchain, so please don't copy them to the system include file directory (/usr/include, /usr/local/include, etc.) Also note that they must be kept as is in $GOROOT/include, or cmd/dist will malfunction.