循環参照メモリ・リークに対処できません。Systemsレポートに由来する同期アルゴリズムを実装しています。アルゴリズムの動作方法の詳しい説明についてはこのセクションで扱う範囲を超えるので、ここではその基本を説明します。第一に、いくつかの基本原則を確立しなければなりません。増やされたら、それはまだ使用中で、従ってゴミではありません。減少して、ゼロに達したら、zvalは解放可能です。引数がゼロ以外の値に減少する場合、これは、ガベージサイクルを作成できるだけであることを意味します。減少させられるかどうかチェックすることによって、どの部分がゴミか発見できます。refcountを持つか調べます。全てをアルゴリズムはルート・バッファにたくわえます。(それらは「紫」とマークされます)それは、可能性のあるガベージのルートそれぞれがバッファ内で一度だけで終わることも確認します。全てに対して収集機構が動き出します。可能性があるルート全てに対してアルゴリズムが深さ優先探索を実行します。2回減じていないことを確保します。それぞれのルート・ノードからアルゴリズムが再び深さ優先探索を実行します。再度チェックするためです。「白」(図では青色です)とマークされます。それらは再び「黒」とマークされます。前の工程で「白」とマークされていたかどうかをチェックします。統合する方法を振り返りましょう。ガベージコレクタは有効です。