>>55
GC対象になったファイナライザ付きオブジェクトは、
ファイナライザ用のスタックに一端退避して保護対象にする。
GC後にそのスタックの各々に対してファイナライザを起動、
処理が終わったオブジェクトは処理済みマークか何かを付けて保護から外す。
処理済みオブジェクトは次回のGCか何かで回収する。
こんなんでどうかな。