justinethier / cyclone

:cyclone: A brand-new compiler that allows practical application development using R7RS Scheme. We provide modern features and a stable system capable of generating fast native binaries.
http://justinethier.github.io/cyclone/
MIT License
824 stars 43 forks source link

Garbage collector documentation #440

Open justinethier opened 3 years ago

justinethier commented 3 years ago

Create a revised overview of our GC that unifies the original writeup, lazy sweeping, and these latest changes for safely sharing objects between threads.

arthurmaciel commented 3 years ago

I have never done this, but with more drawings I think I can make an animated GIF to illustrate the GC process. What do you think, Justin?

justinethier commented 3 years ago

@arthurmaciel That would be great!

The diagrams are in source control as .dia files under: https://github.com/justinethier/cyclone/tree/master/docs/images

It should be possible to open them with the open source Dia tool and make edits to create new images/drawings. I can do that as part of the documentation process at some point in the future. You are welcome to take a look as well, if you would like :)

justinethier commented 3 years ago

Updated user manual section to clarify that the GC will move objects to the heap before they can be accessed by more than one thread.