我们知道Lua有一个库函数debug.sethook
,当任何函数返回时,
使用事件调用钩子函数"返回"或者"尾巴返回",但是LuaJIT呢
不挂钩"尾巴返回"。
是否有任何方法可以关闭LuaJIT的专业化,
让它钩住"尾巴返回"?
答案 0 :(得分:0)
它是一个"功能" LuaJIT的实施,所以你不太可能把它关掉。作为LuaJIT suggested的作者,您可以在钩子中跟踪堆栈深度,但您无法专门跟踪尾部回调返回。
注意Lua也从尾部返回到tail calls:"对于调用事件,事件可以是LUA_HOOKCALL,正常值,或LUA_HOOKTAILCALL,用于尾调用;在这种情况下,将没有相应的返回事件。"