Skip to content

duk_gc()

1.0.0 memory heap

プロトタイプ

c
void duk_gc(duk_context *ctx, duk_uint_t flags);

スタック

(バリュースタックに影響なし)

要約

マークアンドスイープガベージコレクションラウンドを強制的に実行します。

以下のフラグが定義されています。

定義 説明 DUK_GC_COMPACT オブジェクトプロパティテーブルの圧縮を強制します。

ファイナライザーを持つオブジェクトも確実に収集するために、この関数を2回呼び出したい場合があります。現在、そのようなオブジェクトを収集するためには、2回のマーク&スイープラウンドが必要です。最初のラウンドでは、オブジェクトをファイナライズ可能なものとしてマークし、ファイナライザを実行します。2回目のラウンドでは、ファイナライズの後でもオブジェクトが到達できないことを確認し、オブジェクトを解放します。

c
duk_gc(ctx, 0);