[Tarantool-patches] [PATCH luajit v2 1/2] dbg: fix mapping of FPMATHOP to string

Sergey Kaplun skaplun at tarantool.org
Mon Sep 21 14:23:07 MSK 2026


Hi, Mikhail!
Thanks for the patch!
Please consider my comments below.

On 15.09.26, Mikhail Elhimov wrote:
> Prior to this patch IRFPMS contained incorrect entry 'exp2'.

Typo: s/patch/patch,/
Typo: s/incorrect/the incorrect/

> IRFPMS is a human-readable form of enum IRFPMathOp, but there is no
> 'exp2' enum member (see IRFPMDEF(_)). It looks like it was added by
> mistake initially.
> 
> Closes tarantool/tarantool#13159

Nit: s/Closes/Resolves/ (since it will be closed after bumping LuaJIT in
Tarantool).

> ---
>  src/luajit_dbg.py                             |  1 -
>  .../debug-extension-tests.py                  | 45 ++++++++++++++++++-
>  2 files changed, 44 insertions(+), 2 deletions(-)
> 
> diff --git a/src/luajit_dbg.py b/src/luajit_dbg.py
> index 80057a4e..76001b7d 100644
> --- a/src/luajit_dbg.py
> +++ b/src/luajit_dbg.py
> @@ -1722,7 +1722,6 @@ IRFPMS = [
>      'ceil',
>      'trunc',
>      'sqrt',
> -    'exp2',
>      'log',
>      'log2',
>      'other'

I suppose it should be fixed via the patch [1].
Avoiding hardcoded enums should fix the issue for enum IRFPMathOp as
well. So, I suggest fixing this issue alongside with enum patchset, so
we may join all tests to the corresponding patch.

> diff --git a/test/tarantool-debugger-tests/debug-extension-tests.py b/test/tarantool-debugger-tests/debug-extension-tests.py
> index 895171a4..32701fd5 100644
> --- a/test/tarantool-debugger-tests/debug-extension-tests.py
> +++ b/test/tarantool-debugger-tests/debug-extension-tests.py
> @@ -688,6 +688,39 @@ class TestLJIRFloadAbs(TestCaseBase):
>      )
>  
>  
> +class TestLJIRFPMathOpBase(TestCaseBase):
> +    location = 'lj_cf_print'
> +    extension_cmds = (
> +        'n\n'  # Load L.
> +        'lj-trace ' + '&((GG_State *)L)->J->cur'
> +    )
> +
> +    @classmethod
> +    def setUpClass(cls):
> +        cls.lua_script = (
> +            'jit.opt.start("hotloop=1")\n'
> +            'local function trace(a)\n'
> +            '  local x = {}\n'
> +            '  return x\n'
> +            'end\n'
> +            'trace(1)\n'
> +            'trace(1)\n'

It is better to use 1.1 to test the issue for all architectures (i.e.
for arm64 with DUALNUM mode enabled by default).

> +            'print()\n'
> +        ).format(cls.lua_expr)
> +        cls.pattern = r'num FPMATH .* ref: ' + RX_IRN + r' lit: ' + cls.op
> +        super(TestLJIRFPMathOpBase, cls).setUpClass()

<snipped>

> -- 
> 2.43.0
> 

[1]: https://lists.tarantool.org/pipermail/tarantool-patches/2026-September/030791.html


-- 
Best regards,
Sergey Kaplun


More information about the Tarantool-patches mailing list