title: What are "safe point functions" as alluded to in the Go source code?
body: <p>In the file <a href="https://golang.org/src/runtime/proc.go#L1286" rel="nofollow noreferrer"><code>runtime/proc.go</code></a> of the <a href="https://golang.org/src/" rel="nofollow noreferrer">Go source code</a>, there are many comments referring to <strong>safe point functions</strong>, which appear to be related to points in time where it is safe to garbage collect. However, I could not find any definitions of these functions.</p>
  
  <p>What are <strong>safe point functions</strong>, what are they used for, and what are some examples of such functions?</p>