From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 3BFE56ECED; Tue, 15 Sep 2026 13:39:54 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 3BFE56ECED DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1789468794; bh=1YWgnpT6dsp4Vv2NLpRGLF3mRedovyY5vMANHMPfy/Y=; h=Date:To:Cc:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=KCcp2AN05rCYgyOBxcWf5R5O/LWZoAiKqe3449LUIP4jG1pvT7OjtD66QfLD1zpku GQve/SrPAViQaQ++recG2SCCZQtakB9hsmMpqpowBvmS3zmjT/Iv1RNVhkHoKgkFvS FYMwPEuJTzdDFNDRF8P/RRZ3js+UyyDNph+zBCHw= Received: from send150.i.mail.ru (send150.i.mail.ru [89.221.237.245]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id EF7856ECED for ; Tue, 15 Sep 2026 13:39:52 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org EF7856ECED Received: by exim-smtp-759f5f99bf-jlfcr with esmtpa (envelope-from ) id 1x6QZr-00000000J90-3zi0; Tue, 15 Sep 2026 13:39:52 +0300 Message-ID: <7ca96010-f094-4df5-9a80-fa28612417af@tarantool.org> Date: Tue, 15 Sep 2026 13:39:50 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Mikhail Elhimov , Sergey Kaplun , Evgeniy Temirgaleev Cc: tarantool-patches@dev.tarantool.org References: <20260908174027.337233-1-m.elhimov@vk.team> Content-Language: en-US In-Reply-To: <20260908174027.337233-1-m.elhimov@vk.team> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-618D5548: DF41D4CBCC30F4EC8E7FD94675F33565B8C7F824558D0C5A158F52CEA75436C173ED2B5B4559B53F X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD98DB65506D2E90760F197FF1E3C128E2EB566D123B613F57E1313CFAB8367EF908E2BE116634AD74DDF41D4CBCC30F4EC8E7FD94675F335650AB18513CD902303158F52CEA75436C1D64C754CAC7C657B X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7A1DB0B089319D380EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637AC83A81C8FD4AD23D82A6BABE6F325AC2E85FA5F3EDFCBAA7353EFBB55337566562BCE9B9754B08EB288DE72A6A2BDAC6E64E170B7CA471810188C9E0BCD4152389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C091DAD9F922AA71188941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B6A70DDFFB3186CBC5CC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB86D1867E19FE14079C09775C1D3CA48CF3D321E7403792E342EB15956EA79C166A417C69337E82CC275ECD9A6C639B01B78DA827A17800CE7BB1D8AFE8C29F51C731C566533BA786AA5CC5B56E945C8DA X-C1DE0DAB: 0D63561A33F958A5D3DD323C4BFEE0885002B1117B3ED69669D440308F6798BB4869453249F34FA43610D81D389A125CDE35189EBF2DEA28FEA14CD2CD220BB99C5DF10A05D560A9880EC71AF561E0AAD9143641EC25BB39BBDD6B8F74C8253C X-C8649E89: 1C3962B70DF3F0ADB58128AB1E6D661A716CD42B3DD1D34C77DD89D51EBB774225B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D6593AD720EDE69C8E9624ECFAD703057673CC480C3D9E0FF5B06542F790356F44DBB4C85E167FB60DC1B8341EE9D5BE9A0ABCBD39E64E9158C47251007C1A0E7805A99FA86F373B1B0EC7CEAA0681F5848F4C41F94D744909CE2512F26BEC029E55448553D2254B8D95CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXOcIETfglQORZ0zpDET4Zrk3igikrdHlWIuWcsvHpLjWDLEd9SnCO68= X-Mailru-Sender: 689FA8AB762F73937C9FA53A4753B3134276606FE4946F599C5E2B65E46457851DB011B0B0F12EECEF86D5F70DA33880E41E8EF7A07863ECB274557F927329BE2DDF8182D28ACDB545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH] dbg: fix mapping of FPMATHOP to string X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Sergey Bronnikov via Tarantool-patches Reply-To: Sergey Bronnikov Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Hi, Mikhail, thanks for the patch! Please see my comments. Sergey On 9/8/26 20:40, Mikhail Elhimov wrote: > Closes tarantool/tarantool#13159 it is desired to add a description for the changes (why `exp2` was removed etc.) > --- > Branch: https://github.com/tarantool/luajit/tree/elhimov/gh-13159-fix-fpmathop-mapping > Related issue: https://github.com/tarantool/tarantool/issues/13159 > > src/luajit_dbg.py | 1 - > .../debug-extension-tests.py | 64 ++++++++++++++++++- > 2 files changed, 63 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' > diff --git a/test/tarantool-debugger-tests/debug-extension-tests.py b/test/tarantool-debugger-tests/debug-extension-tests.py > index 895171a4..9989032b 100644 > --- a/test/tarantool-debugger-tests/debug-extension-tests.py > +++ b/test/tarantool-debugger-tests/debug-extension-tests.py > @@ -688,6 +688,58 @@ 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' > + 'print()\n' > + ).format(cls.lua_expr) > + cls.pattern = r'num FPMATH .* ref: ' + RX_IRN + r' lit: ' + cls.op > + super(TestLJIRFPMathOpBase, cls).setUpClass() > + > + > +@unittest.skipIf(machine in ('arm64', 'aarch64'), > + "not used as there is no corresponding hardware instruction") > +class TestLJIRFPMathFloor(TestLJIRFPMathOpBase): > + lua_expr = 'math.floor(a)' > + op = 'floor' > + > + > +@unittest.skipIf(machine in ('arm64', 'aarch64'), > + "not used as there is no corresponding hardware instruction") > +class TestLJIRFPMathCeil(TestLJIRFPMathOpBase): > + lua_expr = 'math.ceil(a)' > + op = 'ceil' > + > + > +class TestLJIRFPMathSqrt(TestLJIRFPMathOpBase): > + lua_expr = 'math.sqrt(a)' > + op = 'sqrt' > + > + > +class TestLJIRFPMathLog(TestLJIRFPMathOpBase): > + lua_expr = 'math.log(a)' > + op = 'log' > + Usually we add a patch with fix for the problem and a test that covers a problem. I propose leave a testcase TestLJIRFPMathLog and move other testcases to a separate commit. > + > +class TestLJIRFPMathLog2(TestLJIRFPMathOpBase): > + lua_expr = 'math.log(a, 3)' > + op = 'log2' > + > + > # XXX: Implemented only for GC64 in LuaJIT until backporting the > # corresponding commit. > if IS_GC64: > @@ -1051,7 +1103,17 @@ class TestLJCTypeBase(TestCaseBase): > pattern = r'\[\d+\] ' > > > -for test_cls in TestCaseBase.__subclasses__(): > +def get_leaf_subclasses(cls): > + subclasses = cls.__subclasses__() > + if not subclasses: > + yield cls > + else: > + for sub in subclasses: > + for leaf in get_leaf_subclasses(sub): > + yield leaf > + > + > +for test_cls in get_leaf_subclasses(TestCaseBase): > test_cls.test = lambda self: self.check() > > if __name__ == '__main__':