[Tarantool-patches] [PATCH v2 luajit 25/30] test: disable PUC Lua error test for syntax level
Sergey Kaplun
skaplun at tarantool.org
Fri Apr 2 11:30:59 MSK 2021
Igor,
Thanks for the review.
On 31.03.21, Igor Munkin wrote:
> Sergey,
>
> Thanks for the patch! LGTM, except the nits below.
>
> On 26.03.21, Sergey Kaplun wrote:
> > When LuaJIT is compiled with LUAJIT_ENABLE_GC64, LJ_MAX_SLOTS limit is
> > reached and error LJ_ERR_XSLOTS ("function or expression too complex")
> > is raised earlier, than LJ_MAX_XLEVEL limit is reached and error
> > LJ_ERR_XLEVELS ("chunk has too many syntax levels") is raised.
> >
> > This patch disabled test expected the LJ_ERR_XLEVEL error, but
>
> Typo: s/disabled test/disables the test/.
Fixed.
>
> > failing with the LJ_ERR_XSLOTS error.
> >
> > Part of tarantool/tarantool#5845
> > Part of tarantool/tarantool#4473
> > ---
> > test/PUC-Lua-5.1-tests/errors.lua | 8 +++++++-
> > 1 file changed, 7 insertions(+), 1 deletion(-)
> >
> > diff --git a/test/PUC-Lua-5.1-tests/errors.lua b/test/PUC-Lua-5.1-tests/errors.lua
> > index 028224c..328976e 100644
> > --- a/test/PUC-Lua-5.1-tests/errors.lua
> > +++ b/test/PUC-Lua-5.1-tests/errors.lua
> > @@ -228,7 +228,13 @@ local function testrep (init, rep)
> > end
> > testrep("a=", "{")
> > testrep("a=", "(")
> > -testrep("", "a(")
> > +-- LuaJIT: When compiled with LUAJIT_ENABLE_GC64, LJ_MAX_SLOTS
> > +-- limit is reached and error LJ_ERR_XSLOTS ("function or
> > +-- expression too complex") is raised earlier, than LJ_MAX_XLEVEL
> > +-- limit is reached and error LJ_ERR_XLEVELS ("chunk has too many
> > +-- syntax levels") is raised.
>
> Side note: It would be nice if you also mention the root cause. AFAIU,
> LuaJIT frontend checks "virtual" stack size at the translation time,
> right? Therefore, when GC64 support is enabled every call needs twice
> more slots on the coroutine stack (since LJ_FR2 is also set).
Added to the comment and the commit message.
>
> > +-- Test is disabled for LuaJIT.
> > +-- testrep("", "a(")
> > testrep("", "do ")
> > testrep("", "while a do ")
> > testrep("", "if a then else ")
> > --
> > 2.31.0
> >
>
> --
> Best regards,
> IM
--
Best regards,
Sergey Kaplun
More information about the Tarantool-patches
mailing list