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 77E1D6ECCE; Tue, 8 Sep 2026 20:40:33 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 77E1D6ECCE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1788889233; bh=aKr4bN5gE86CmF3VhoXkr0V2gxPp1zg3xxXYXE4utPE=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=HoSV4y7+f94/0nI2clx0LZMC0AFrnxK6TCQvkg1ciBMhJdDacsQUvZW3Gkva9WVmX GXXqy8os+eDPC0a1xPFnMLTe075vqakuaf9jqQTOYfKeyT/DZPuajkKgZ8n2OxvFKu c5opI0hVVwOHSjzRxDbTQtgwyUQNhlZtML/JnrPA= Received: from send276.i.mail.ru (send276.i.mail.ru [95.163.59.115]) (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 043776ECCE for ; Tue, 8 Sep 2026 20:40:31 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 043776ECCE Received: by exim-smtp-569b45c49c-q5wl5 with esmtpa (envelope-from ) id 1x3zo6-000000008yU-3Hk4; Tue, 08 Sep 2026 20:40:31 +0300 To: Sergey Kaplun , Sergey Bronnikov , Evgeniy Temirgaleev Date: Tue, 8 Sep 2026 20:40:27 +0300 Message-ID: <20260908174027.337233-1-m.elhimov@vk.team> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-618D5548: A2E95C62C675F77BC7A4B249DE6549FD1DFB90131F82C328F51FD9A7C09F6449AAB0E167C4622587 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD978AFEFB3096932CFF0D566C152F298906FAD165713F319B2182A05F538085040F0721B77C8BCBB5B3DE06ABAFEAF67051521D2E8332A36D03B342E0DCA991712073C1C8732F84CED X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE78C6616F30072131EEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637AC83A81C8FD4AD23D82A6BABE6F325AC2E85FA5F3EDFCBAA7353EFBB5533756682FC6F8CF4E8B727ADAF7EC16CD46511C8B2E98FE32817D58D87E6BEEBE411A08EEF46B7454FC60B9742502CCDD46D0DB11811A4A51E3B09D32BA5DBAC0009BE9E8FC8737B5C2249EF02ED69BFCBAD7376E601842F6C81A12EF20D2F80756B5FB606B96278B59C4276E601842F6C81A127C277FBC8AE2E8B8EBB2E18C648B2E13AA81AA40904B5D99C9F4D5AE37F343AD1F44FA8B9022EA23BBE47FD9DD3FB595F5C1EE8F4F765FC72CEEB2601E22B093A03B725D353964B0B7D0EA88DDEDAC722CA9DD8327EE493EFA58DFCB7B0AE115E1C53F199C2BB95B5C8C57E37DE458BEDA766A37F9254B7 X-C1DE0DAB: 0D63561A33F958A52E1029A60F9F98FF5002B1117B3ED69698C2489A1D4B5CE6E41E333F9D1358D5823CB91A9FED034534781492E4B8EEAD5C5DFC4BFF39B799F36E2E0160E5C55395B8A2A0B6518DF68C46860778A80D548E8926FB43031F38 X-C8649E89: 1C3962B70DF3F0AD73CAD6646DEDE191716CD42B3DD1D34C77DD89D51EBB774225B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D65935451D6A5554BF2194979CE150FD8CCCD3163089C9E31B5ED6C9AED6E00BEE86542382EB99FFB9AFB8341EE9D5BE9A0A603D81A20BD5071E4BD5C2DE9443617EBFAC325B63BF85A49350E1BD188BD56E4C41F94D744909CE9D6718F459EE2962AE54DA86D399E591103B389C0A9E82E8 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXOcIETfglQORZ0zpDET4Zrk3igikrdHlWNcf/YJoNJULe+eya20PhEY= X-Mailru-Sender: 0A26D9779F8DDEABD06866A78A9DAEB3DF7076EA0B2A28495E07F309F87FFB1493173C94A2DC288A1B2253D4AAB677C04CA08BFBBB45AAA72C22B24405C8F0CCB7331131FBF1F034D3A388E327D6469BB4C443D66B1C03FA314DF935DB795A1AEAB4BC95F72C04283CDA0F3B3F5B9367 X-Mras: Ok Subject: [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: Mikhail Elhimov via Tarantool-patches Reply-To: Mikhail Elhimov Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Closes tarantool/tarantool#13159 --- 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' + + +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__': -- 2.43.0