ガベージコレクションのアルゴリズムと実装 第11章「Rubinius の GC」その4

今日も第11章「Rubinius の GC」の FFI を使って拡張ライブラリを書き直すのところからです。

  • あ、DL2 を FFI で実装とかいう話ではなくて Rubinius では FFI による関数呼び出しが組み込みで実装されているのか。かっこいい
  • 埋め込みオブジェクトの工夫は CRuby と同じ
  • いよいよコピーGC。Cheney のコピーGCアルゴリズムベース
    • 世代別のコピーGC
    • C++ なのでメンバ変数を private にして setter にライトバリアをうめむことができる
    • 一定回数コピーGCを生き延びたら promote して旧世代に移動。この時昇格リスト用配列のスキャン済み部分をできるだけ再利用する

第11章もあと少しです。