diff --git a/docs/Writing-the-Cyclone-Scheme-Compiler-Revision-1.md b/docs/Writing-the-Cyclone-Scheme-Compiler-Revision-1.md index 7081949b..9ccd6694 100644 --- a/docs/Writing-the-Cyclone-Scheme-Compiler-Revision-1.md +++ b/docs/Writing-the-Cyclone-Scheme-Compiler-Revision-1.md @@ -25,6 +25,7 @@ In addition, developing [Husk Scheme](http://justinethier.github.io/husk-scheme) - [Garbage Collector](#garbage-collector) - [Background: Cheney on the MTA](#background-cheney-on-the-mta) - [Cyclone's Hybrid Collector](#cyclones-hybrid-collector) + - [Developing the New Collector](#developing-the-new-collector) - [Heap Data Structures](#heap-data-structures) - [C Runtime](#c-runtime) - [Data Types](#data-types) @@ -234,7 +235,11 @@ Under Cyclone's runtime each thread contains its own stack that is used for priv Heap objects are not relocated, making it easier for the runtime to support native threads. In addition major GC uses a collector thread that executes asynchronously so application threads can continue to run concurrently even during collections. -It took a long time to research and plan out all of this before it could be implemented. There was a noticeable lull in Github contributions during that time: +More details are available in a separate [Garbage Collector](Garbage-Collector.md) document. + +### Developing the New Collector + +It took a long time to research and plan out the new GC before it could be implemented. There was a noticeable lull in Github contributions during that time: @@ -248,8 +253,6 @@ The actual development consisted of several distinct phases: - Phase 5 - Required the pthreads library, and stood Cyclone back up using new GC algorithm. - Phase 6 - Added SRFI 18 to support multiple application threads. -More details are available in a separate [Garbage Collector](Garbage-Collector.md) document. - ### Heap Data Structures Cyclone allocates heap data one page at a time. Each page is several megabytes in size and can store multiple Scheme objects. Cyclone will start with a small initial page size and gradually allocate larger pages using the Fibonnaci Sequence until reaching a maximum size.