Hacker News new | ask | show | jobs
by Animats 3350 days ago
If writing assembly code to run in the Go environment, and you're changing pointers, you have to write garbage-collector aware code.[1][2] Go has concurrent garbage collection, which means there are some unusual constraints on code that manipulates pointers.

This is an area where proofs of correctness are considered necessary, because intuition fails. See [3]

[1] https://blog.golang.org/go15gc [2] https://golang.org/src/runtime/mbarrier.go [3] https://github.com/golang/proposal/blob/master/design/17503-...