diff --git a/doc/gc.rst b/doc/gc.rst index 01e6b347f5..39d6d0484e 100644 --- a/doc/gc.rst +++ b/doc/gc.rst @@ -36,13 +36,25 @@ To choose the memory management strategy use the ``--gc:`` switch. cause memory leaks, beware. - ``--gc:orc``. Same as ``-gc:arc`` but adds a cycle collector based on "trial deletion". - Unforunately that makes its performance profile hard to reason about so it is less + Unfortunately that makes its performance profile hard to reason about so it is less useful for hard realtime systems. - ``--gc:none``. No memory management strategy nor garbage collector. Allocated memory is simply never freed. You should use ``--gc:arc`` instead. +================== ======== ================= ====================== +Memory Management Heap Reference Cycles Command line switch +================== ======== ================= ====================== +RefC Local Cycle Collector ``--gc:refc`` +Mark & Sweep Local Cycle Collector ``--gc:markAndSweep`` +ARC Shared Leak ``--gc:arc`` +ORC Shared Cycle Collector ``--gc:orc`` +Boehm Shared Cycle Collector ``--gc:boehm`` +Go Shared Cycle Collector ``--gc:go`` +None Manual Manual ``--gc:none`` +================== ======== ================= ====================== + JavaScript's garbage collector is used for the `JavaScript and NodeJS `_ compilation targets. The `NimScript `_ target uses the memory management strategy built into