We know Lua has a library function debug.sethook, when any function return,
the hook function be called with event "return" or "tail return", but LuaJIT do
not hook "tail return".
Is there any methods to turn off the specialization of LuaJIT,
and let it hook "tail return"?
luajit can't hook "tail return"
728 Views Asked by Joey.Luo At
1
There are 1 best solutions below
Related Questions in LUA
- How to make a ServerScript wait for a LocalScript to fire a RemoteEvent
- global const variables in lua 5.4
- Backpack for roblox simulator game
- Calling an event with a delay in Roblox Studio. How to do?
- lghub lua script presskey
- LGHUB Lua script
- In pairs for loop not looping inside of another in pairs loop
- Lua syntax error expected '(' near update_rotation
- 64 unsigned integers in Lua 5.3/5.4 do not behave like in "Programming in Lua"
- How to write a lua pattern that is aware of escaped characters?
- having trouble installing neovim plugin
- Incorrect number comparison result (Lua)
- Lua: is there a need to use hash of string as a key in lua tables
- continuations in lua, is not working while trying extending it
- Neovim Kickstart config "E5113: Error while calling lua chunk: vim/_editor.lua:0: attempt to compare two table values" everytime I open neovim
Related Questions in LUAJIT
- Linking with lua5.1 and luajit
- How to get the value of char* in lua
- When will LuaJIT create objects with GCT as Str type?
- With LuaJIT, how could I associate more than one metatable with a C struct?
- How to require a folder?
- Lua GC is not collecting automatically
- How to get better performance out of Lua when iterating array of structs
- How to use require in Discordia(luvit)
- Installing Torch and running install.sh - luajit: not enough memory
- Luajit can't locate modules installed via Luarocks
- Encountered problems using luajit and fii libraries
- How can I make LuaJIT non-blocking with select or epoll?
- using luajit installed with vcpkg
- binding opaque C objects with luajit ffi metatype
- Is there a way to package your Love2D game into a bytecode distributable?
Related Questions in TAIL-CALL
- Why does LLVM not optimize away unnecessary jmps for tail calls to the next function?
- Tail recursive remove duplicate consecutive entries in list
- Tail-calls corrupted when compiled with __attribute__((musttail))
- Why does clang have trouble with optimizing tail calls in destructors?
- How to Optimize Tail Calls in a Scheme Interpreter?
- Tail call stack
- Are tail calls on diverging functions optimized in Rust?
- Is there a way to optimize tail calls in Scala?
- How do I refactor a recursion occurring in a for loop to make it a tail call?
- In tail calls, how do programming languages know what the function call evaluates to?
- Is it possible to make a proper tail-call of hanoi tower in lua?
- Erlang, Last Call Optimization, lambda functions, and how to prevent growing a stack
- Do bound functions support proper tail calls in ES6?
- Tail recursion [C]
- how to insert in the middle of a list, being tail-call friendly but without hurting performance?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
It's a "feature" of LuaJIT implementation, so it's not likely that you can turn it off. As the author of LuaJIT suggested, you can track stack depth in the hook, but you won't be able to specifically track tail call returns.
Note that Lua also moved from tail returns to tail calls: "For call events, event can be LUA_HOOKCALL, the normal value, or LUA_HOOKTAILCALL, for a tail call; in this case, there will be no corresponding return event."