Explore >> Select a destination


You are here

without.boats
| | boats.gitlab.io
4.3 parsecs away

Travel
| | After the digression in the previous post, it's time to get back to what I promised in the first post: a look at how shifgrethor handles rooting. Shifgrethor's solution is somewhat novel and takes advantage of some of Rust's specific features, so I want to start by looking briefly at some of the other options. How to root a GC'd object There are two broad categories of rooting strategies that are common among precise, tracing garbage collectors:
| | boats.gitlab.io
0.5 parsecs away

Travel
| | I'm really excited to share with you an experiment that I've been working on for the past 5 or 6 weeks. It's a Rust library called shifgrethor. shifgrethor implements a garbage collector in Rust with an API I believe to be properly memory safe. I'll be going through all of the technical details in future blog posts, so I want to kick this series off with a high level overview of the project's purpose and design decisions.
| | boats.gitlab.io
4.5 parsecs away

Travel
| | In the previous post I said that in the second post in the series we'd talk about how rooting works. However, as I sat down to write that post, I realized that it would be a good idea to back up and give an initial overview of how a tracing garbage collector works - and in particular, how the underlying garbage collector in shifgrethor is implemented. In the abstract, we can think of the memory of a Rust program with garbage collection as being divided into three sections: the stack, the "unmanaged" heap...
| | www.greyblake.com
85.9 parsecs away

Travel
| A blog about software development.