ガベージコレクションのアルゴリズムと実装 5,6章

ustの進みに合わせて毎週読みます。 http://www.ustream.tv/recorded/6018251
GC
1
前へ 1 ・・ 8 9
Shinichi Tokunaga @deepneko

もちろんToのなかに空きがなければ新しいページ用意するよ(これもページ番号は2)

2010-04-20 10:32:16
Shinichi Tokunaga @deepneko

で、このアルゴリズムだとC,D,EがTo空間にコピーして保持されるわけだがDはルートから参照できるオブジェクトじゃないよね。いらないオブジェクトが残るよね。

2010-04-20 10:34:11
Shinichi Tokunaga @deepneko

ルートから参照されてるオブジェクトの存在するページ内にあるオブジェクトから参照できるオブジェクトは全部コピーしちゃうから仕方ないね。

2010-04-20 10:37:34
Shinichi Tokunaga @deepneko

今のtweetでオブジェクトって三回いったね。わかりにくいね。

2010-04-20 10:41:58
Shinichi Tokunaga @deepneko

MostlyCopyingGCのメリット: 保守的GCでコピーGCが使える

2010-04-20 11:19:48
Shinichi Tokunaga @deepneko

デメリット: コピーGCとだいたい同じ。あとルートから参照されたオブジェクトを持つページ内のオブジェクトも全部生きてることになっちゃう。

2010-04-20 11:21:35
Shinichi Tokunaga @deepneko

保守的GCにはポインタの誤識別というデメリットがあったね。

2010-04-20 11:23:54
Shinichi Tokunaga @deepneko

そこでJ.Boehmのブラックリストですよ!

2010-04-20 11:24:31
Shinichi Tokunaga @deepneko

要注意アドレス一覧をつくる手法です。

2010-04-20 11:28:50
Shinichi Tokunaga @deepneko

現在使用されてないオブジェクトがミューテータから参照されることはない。ので、このアドレスを持つポインタを「非ポインタ」としてブラックリストに登録しておく。

2010-04-20 11:31:23
Shinichi Tokunaga @deepneko

is_used_objectっていう関数の中身は書いてないのか・・・

2010-04-20 11:32:15
Shinichi Tokunaga @deepneko

マークスイープのマーク処理の時とかに登録する。

2010-04-20 11:32:57
Shinichi Tokunaga @deepneko

ブラックリストのメリット: ヒープの使用率がちょっと向上する

2010-04-20 11:45:55
Shinichi Tokunaga @deepneko

ブラックリストのデメリット: アロケート時にブラックリストをチェックするコストがかかる

2010-04-20 11:46:47
前へ 1 ・・ 8 9