Exploring how and why interior pointers in Go keep entire objects alive
https://utcc.utoronto.ca/~cks/space/blog/programming/GoInteriorPointerGC [utcc.utoronto.ca]
2019-03-09 07:06
Today, with indivisible compound objects, Go can keep a simple map from memory addresses to the block of memory that they keep alive and the garbage collector doesn’t have to care about the type of a pointer, just its address, because the address alone is what determines how much memory is kept alive. In a world where compound objects are divisible, we must somehow arrange for &b.smallThing and &b to be treated differently by the garbage collector, either by giving the garbage collector access to type information or by having them point to different addresses.