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
- Openresty torch module loading issue
- Why does LuaJIT produce a "too many callbacks error" from this simple code?
- LuaJIT setfenv not appearing to set further function calls to the given environment
- "Undefined reference to dlopen" when statically linking with gcc
- How to get past 1gb memory limit of 64 bit LuaJIT on Linux?
- LÖVE2D-0.9.1 with LuaJIT-2.0.3: ´print()´ doesn't write to console
- Compile Lua scripts used on OpenResty
- How do install libraries for both Lua5.2 and 5.1 using Luarocks?
- How can I detect at runtime if I am running Luajit or PUC Lua 5.1?
- Date format toUTCString in Lua
- luajit segfault on garbage collection
- Upload image using lua
- What is the relationship between Torch and Lua?
- Why is LuaJIT so good?
- What should a lua iterator factory return in case of nothing to iterate
Related Questions in TAIL-CALL
- Why does LLVM not optimize away unnecessary jmps for tail calls to the next function?
- What is difference between tail calls and tail recursion?
- Tail-calls corrupted when compiled with __attribute__((musttail))
- Is there a way to optimize tail calls in Scala?
- How to Optimize Tail Calls in a Scheme Interpreter?
- Why does clang have trouble with optimizing tail calls in destructors?
- Do bound functions support proper tail calls in ES6?
- How to recognize what is, and what is not tail recursion?
- Visual C++ Tail Call Optimization
- Are tail calls on diverging functions optimized in Rust?
- Tail recursive remove duplicate consecutive entries in list
- Immutable Trie structure in F#
- Does every Haskell function do tail calls?
- Erlang, Last Call Optimization, lambda functions, and how to prevent growing a stack
- Tail recursion [C]
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 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."