singleton method GC.verify_compaction_references

verify_compaction_references(toward: nil, double_heap: nil) -> Hash[permalink][rdoc][edit]

コンパクションの参照の一貫性を検証します。

このメソッドは処理系依存 (CRuby 特有) です。コンパクション中に移動されたオブジェクトは T_MOVED オブジェクトに置き換えられます。コンパクション後には T_MOVED を参照するオブジェクトは存在するべきではありません。

この関数は全てのオブジェクトが移動する余地を確保するためにヒープを2倍にして、全ての移動を確実にするためにヒープをコンパクションして、全ての参照を更新して、それからフルGCを実行します。もし T_MOVED への参照をもつオブジェクトがあれば、マークスタックにプッシュされて、 SEGV が起きるでしょう。

[PARAM] toward:
nil か :empty を指定します。
[PARAM] double_heap:
ヒープサイズを2倍にするかどうかを真偽値で指定します。
[RETURN]
GC.compact の返り値と同じです。

[SEE_ALSO] GC.compact