commit | 1fce5bea817de50e055a84c153a975f25bfcf493 | [log] [tgz] |
---|---|---|
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | Fri Oct 29 13:41:24 2021 -0300 |
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | Fri Oct 29 13:41:24 2021 -0300 |
tree | 294645bf9a85557026d8c99d74c2eac50a74302e | |
parent | 3699446aaf5c7a07af028b1ae43cf52d2d4dda59 [diff] |
More uniform implementation for tail calls 'luaD_pretailcall' mimics 'luaD_precall', handling call metamethods and calling C functions directly. That makes the code in the interpreter loop simpler. This commit also goes back to emulating the tail call in 'luaD_precall' with a goto, as C compilers may not do proper tail calls and the C stack can overflow much sooner than the Lua stack (which grows as the metamethod is added to it).
This is the repository of Lua development code, as seen by the Lua team. It contains the full history of all commits but is mirrored irregularly. For complete information about Lua, visit Lua.org.
Please do not send pull requests. To report issues, post a message to the Lua mailing list.
Download official Lua releases from Lua.org.