lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Fri, Mar 20, 2015 at 3:25 PM, Dibyendu Majumdar
<mobile@majumdar.org.uk> wrote:
> On 20 March 2015 at 22:16, Doug Currie <doug.currie@gmail.com> wrote:
>>> I haven't yet figured out how to properly implement OP_TAILCALL in a
>>> JITed function.
>>
>>
>> The usual approach is to emit code to pop the stack frame and convert the
>> tail call to a jump.
>>
>
> In the recursive case, yes, but Lua also uses tail calls for
> non-recursive scenarios. For these a different function may be called
> so it is not possible to handle this in a JITed function - without
> replacing the function being executed as well.
>
> Regards
>

The technique still applies to the non-recursive case -- you still
clean up the stack frame, push on the return values, and jump.

/s/ Adam