Periodic plug of David Bacon’s “A Unified Theory of Garbage Collection”, an excellent paper that changed my view on GC: https://courses.cs.washington.edu/courses/cse590p/05au/p50-bacon.pdf …
-
Show this thread
-
tl;dr: Reference counting and mark/sweep are just extreme points on a *continuum* of GC approaches. Optimizations of RC tend to give it characteristics of tracing, and vice versa.
2 replies 1 retweet 19 likesShow this thread -
Replying to @pcwalton
Do you really mean (dynamic) tracing and not static analysis?
1 reply 0 retweets 0 likes -
Replying to @RichFelker
The paper purely covers dynamic memory management (garbage collection). Static memory management is a separate axis entirely, I think. (Though you can think of manual/static memory management as a one-bit reference count.)
1 reply 0 retweets 2 likes -
Replying to @pcwalton
I'm thinking of automatic RC which manages dynamic lifetimes, but where the useful optimizations I'm aware of are all based on static analysis to optimize out references that aren't truely new (whose lifetimes are subranges of an existing reference).
1 reply 0 retweets 0 likes
That’s basically a static subset of deferred reference counting. You can do this dynamically too, by introducing stack scans. (Fast reference counting schemes like RC-Immix use this trick.) Check out section 4.1 in the paper.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.