generated at
Mark Compact GC


概要
マークフェーズとコンパクションフェーズからなる
マークフェーズはMarkSweepGCのものと全く同じ
コンパクションフェーズでは生きているオブジェクトの詰め直し(コンパクション)を行う

ヘッダに格納するもの
forwardingポインタ

Lisp2アルゴリズム
手順
1. forwardingポインタの設定
2. ポインタの更新
3. オブジェクトの移動
メリット
デメリット

Two-Fingerアルゴリズム
手順
1. オブジェクトの移動
2. ポインタの更新
メリット
デメリット

テーブルアルゴリズム
手順
1. オブジェクト(郡)の移動及びブレイクテーブルの構築
2. ポインタの更新
メリット
デメリット

ImmixGC
ヒープ領域を一定サイズの「ブロック」にわけ、そのブロックをさらに一定サイズの「ライン」にわける
このライン単位でゴミを回収していく
手順
メリット
デメリット