ガベージコレクションのアルゴリズムと実装 3,4章
ustの進みに合わせて毎週読みます。
http://www.ustream.tv/recorded/5849980
Shinichi Tokunaga
@deepneko
CheneyのコピーGCの場合、A→B、A→C、B→D、B→E、B→H、B→I、C→F…っていう参照があったとすると
2010-04-08 23:05:35
Shinichi Tokunaga
@deepneko
ページサイズをオブジェクト3個分とすると、[A・B・C] [D・E・F] [H・I]・・・っていう風にヒープには配置されちゃうわけ。
2010-04-08 23:06:39
Shinichi Tokunaga
@deepneko
オブジェクトがFrom空間にある場合はコピーする。From空間以外にある場合はマークして、子オブジェクトを再帰的にマークまたはコピー。
2010-04-08 23:17:29
Shinichi Tokunaga
@deepneko
まぁ、つまりmark_or_copyに渡されるオブジェクトは、From空間にあるならコピーGC、From空間以外にあるならマークスイープの対象だと思えばよい。
2010-04-08 23:18:39
Shinichi Tokunaga
@deepneko
複数空間コピーのデメリット: マークスイープのデメリットが乗っかる。結局マークスイープとコピーGCの領域の比率によるんだが、どっちの良いとこも悪いとこも背負うことになる。
2010-04-08 23:22:30