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

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

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

今日から第11章「Rubinius の GC」に入ります。

  • Rubinius の開発の経緯。引数の評価順序が逆だったから作りなおすついでにCからC++に移行とかダイナミック
  • Rubinius の GC は precise GC
  • オブジェクト構造。オブジェクトのヘッダかなり大きい……と思ったら bit field が使われてる! 珍しい。
  • メモリ空間構造。マークスイープ用、Immix GC 用、コピーGC用(From, To) と分割されてる
  • アロケーション。オブジェクトサイズなどによってマークスイープ、Immix GC、コピーGCの空間から確保される。

複数のGCアルゴリズムを混在させているのですね.