痛々しいほど単純なものが欠けているように感じますが、Andrew Appel の『Modern Compiler Implementation in ML』ブックに従ってマーク アンド スイープ ガベージ コレクションを理解しようとしています。Mark and Sweep セクション内に Pointer Reversal (270) というタイトルの小さな段落があります。
この時点で、私はそれがどのように機能するかを理解していると思います。簡単に言えば、グラフをトラバースすると、すべてのポインターが反転し、前のポインターが一連のフィールド内に表示されます。次に、特定の要素を使い終わったら、ポインターを元に戻して、再び正しい場所を指すようにします。
それが正しければ、それはあなたに何をもたらしますか? Appel はこれを説明しようとしていますが、私は彼の言い回しを完全には理解していません。