[Tarantool-patches] [PATCH luajit] Prevent compile of __concat with tailcall to fast function.

Igor Munkin imun at tarantool.org
Thu Nov 23 09:29:20 MSK 2023


Max,

I've checked the patchset into all long-term branches in
tarantool/luajit and bumped a new version in master, release/2.11 and
release/2.10.

On 25.10.23, Maksim Kokryashkin via Tarantool-patches wrote:
> From: Mike Pall <mike>
> 
> E.g. __concat = function() return setmetatable(...) end
> Reported by Fezile Manana.
> 
> (cherry-picked from commit 75ee3a6159f1831fa57992df3caf5a2c303c281a)
> 
> During the recording of concat with tailcall to fast function,
> the fast function recording is postponed. This implementation
> may lead to the absence of side effects from fast-function and
> incorrect behavior as a result. For a comprehensive example,
> see the comment in the test.
> 
> Maxim Kokryashkin:
> * added the description and the test for the problem
> 
> Part of tarantool/tarantool#9145
> ---
> Branch: https://github.com/tarantool/luajit/tree/fckxorg/lj-690-concat-tail-call
> PR: https://github.com/tarantool/tarantool/pull/9304
> Issue: https://github.com/LuaJIT/LuaJIT/issues/690
> 
>  src/lj_record.c                               |  3 ++
>  .../lj-690-concat-tail-call.test.lua          | 34 +++++++++++++++++++
>  2 files changed, 37 insertions(+)
>  create mode 100644 test/tarantool-tests/lj-690-concat-tail-call.test.lua
> 

<snipped>

> --
> 2.39.3 (Apple Git-145)
> 

-- 
Best regards,
IM


More information about the Tarantool-patches mailing list