[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