追記: 最後の図の「C」の参照カウントが 1 ではなく 2 になっていたのを修正 次回は cycle collector の実装と、回避方法について書く予定。 言語の GC 機能と参照カウント (中編) と 2008 年の 5 月 31 日に書き残して早 1 年と 2 ヶ月を迎えようとする中の後編です。 Cycle collector の実装方法について Bacon らによる「Concurrent Cycle Collection in Reference Counted Systems」という論文が有名と思われる。この論文では、まず同期的な cycle collector の実装の改善について述べ、さらにそれを非同期的な方式へ拡張する方法について述べている。今回は、最初の同期的な方法のアルゴリズムについてのみ見ていく。 基本的には mark and sweep 論文には以下のような説明と
![言語の GC 機能と参照カウント (後編-1) - moriyoshiの日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/cafae62f518dacfc802edb79d8ae4510a83cd13c/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fm%2Fmoriyoshi%2F20090728%2F20090728190215.png)