Skip to content

jit.flush

JITコンパイル済みコードをクリアし、再コンパイルさせる

lua
jit.flush([func|true], [true|false])

説明

jit.flush 関数は、指定した関数、または全てのコンパイル済みコードキャッシュ(JITコード)をクリアします。これにより、該当するコードが次回実行される際に、再度JITコンパイラによってコンパイルされます。JITコンパイラ自体の有効・無効状態には影響を与えません。

補足

  • func に特定の関数を指定すると、その関数に関連するJITコードのみをフラッシュします。functrue を指定すると、全てのJITコードをフラッシュします。
  • 第2引数の quiettrue を指定すると、フラッシュ時の出力(メッセージ)を抑制します。

サンプルコード

lua
local jit = require("jit")
jit.flush()  -- 全体のコンパイル済みコードをフラッシュ

互換性

  • LuaJIT