2016-07-02 7 views
0

をフックすることはできません"テールリターン"。
LuaJITの特殊化をオフにする方法はありますか? "tail return"をフックさせますか?luajitたちはLuaがライブラリ関数<code>debug.sethook</code>、任意の関数の戻り値を持って知っている、<br> フック関数は、イベント「戻る」または「テール・リターン」と呼ばれるが、LuaJITは を行うフックではないことが、「テール・リターン」

+0

おそらく、[this](http://lua-users.org/lists/lua-l/2011-04/msg00157.html)が役に立ちます –

答えて

0

これはLuaJIT実装の「機能」なので、オフにすることはできません。 LuaJIT suggestedの著者は、フック内のスタック深度を追跡できますが、テールコールリターンを具体的に追跡することはできません。

また、Luaも末尾からtail callsに戻ります。「コールイベントの場合、イベントは、テールコールの場合はLUA_HOOKCALL、通常値、またはLUA_HOOKTAILCALLです。この場合、対応する戻りイベントはありません。

関連する問題