9 Generational GC (中略) さて、Schemeにおいて、ユーザプログラムがconsやvectorのみを用いる限り、旧→新のポインタは決して生まれない。 Set-car!などの破壊的代入を行なって初めて生じるものである。コンパイラが、破壊的代入の際に必ずGCに知らせる(書き換えられるオブジェクトを GCに教える)ようにすれば、GCが旧→新のポインタ全てを手早く見つけることができる。このように、メモリオブジェクトへの書き込みの際に特別な処理を行なう機構をwrite barrierという(注)。 (中略) 10 Incremental GC (中略) Generational GCと同様に、write barrierが必要になる (ここではmark and sweepを仮定する)。 Write barrierがないと破綻する例を図8に示す。マークフェイズの途中でaが黒になった時