Fundamentals of garbage collection by Microsoft (source code)

= Fundamentals of garbage collection by Microsoft
{c}

https://learn.microsoft.com/en-us/dotnet/standard/garbage-collection/fundamentals

Primary runtime documentation, “What happens during a garbage collection”: marking identifies live objects, relocation updates references, and compaction moves surviving objects. The same section identifies compiler-reported stack roots, runtime handles and static references as sources used to determine liveness. Used for the reference-management principle, not a claim that every collection moves every object.