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 B2BFDBB1332; Mon, 22 Apr 2024 11:54:10 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org B2BFDBB1332 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1713776050; bh=q3MfyV64+MCXd3cM8DEjV+e7NKLb9y2gONannzXX0bo=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=A4utRgt8Ix+Y9HxgecOrBLm5j47iiQ3nNkxzBysI5jRyULW8p+OktJAmX/t2zs7Pu b2qDB6RvI9l6ihnCmUwTp04/+1+aCAfdFwG+JYWWStb65IM3I0wcPFQsv6DARhyL/Y u9XDhGEWvpmnfyA5nONMf6qg/kMC8ZlZa79j5lfE= Received: from smtp32.i.mail.ru (smtp32.i.mail.ru [95.163.41.73]) (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 4D379254C7F for ; Mon, 22 Apr 2024 11:54:09 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 4D379254C7F Received: by smtp32.i.mail.ru with esmtpa (envelope-from ) id 1rypRA-0000000BtKy-1JKn; Mon, 22 Apr 2024 11:54:08 +0300 To: Maxim Kokryashkin , Sergey Bronnikov Date: Mon, 22 Apr 2024 11:49:53 +0300 Message-ID: X-Mailer: git-send-email 2.44.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-7564579A: EEAE043A70213CC8 X-77F55803: 4F1203BC0FB41BD949E5EAB5516A8929DE075C24D8BAFAB52528C1284C763210182A05F5380850404C228DA9ACA6FE27F43212322EBEDEFC33594132A326AF8BABC040BAF9EFE2BBECBE144D67F46172B242013FB95F71DC X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE716FAD50E497B9C14EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637FEE9814BCD6BEB198638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D85C9339DE798219D01DBF48A0D5DCDA272ACEAB2CA3FEC44BCC7F00164DA146DAFE8445B8C89999728AA50765F79006375FFD5C25497261569FA2833FD35BB23D2EF20D2F80756B5F868A13BD56FB6657A471835C12D1D977725E5C173C3A84C353FA85A707D24CADCC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB8D32BA5DBAC0009BE9E8FC8737B5C2249309DFB797F6729CB3AA81AA40904B5D9CF19DD082D7633A0C84D3B47A649675F3AA81AA40904B5D98AA50765F790063773C9DE056B635665EC76A7562686271ED91E3A1F190DE8FD2E808ACE2090B5E14AD6D5ED66289B5278DA827A17800CE754F43A495B1ACFC12EB15956EA79C166A417C69337E82CC275ECD9A6C639B01B78DA827A17800CE79E9721B410A3B6ED731C566533BA786AA5CC5B56E945C8DA X-C1DE0DAB: 0D63561A33F958A5D10C69F67C9AE8865002B1117B3ED696B8C409C9267D81F454BB1175C6E7DD94823CB91A9FED034534781492E4B8EEAD5A44E68B9071C39EC79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF77DD89D51EBB7742D3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CFC69D0E3C69E8D52D29924D7A45800C76D712CAE62A64760DD788146122C23EC08926F27D50C27B5DA1583B225F58ABB2E75563F5CD0B266C743E605242C55F8D41C8D617E6302FDCC226CC413062362A913E6812662D5F2A5EAB5682573093F7837F15F2B5E4A70B33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojbL9S8ysBdXgSec7GY+Z30Jx94JrXDKwN X-Mailru-Sender: 520A125C2F17F0B1A9638AD358559B59CCB84473EA90659F33594132A326AF8BABC040BAF9EFE2BBB7CBEF92542CD7C88B0A2698F12F5C9EC77752E0C033A69E86920BD37369036789A8C6A0E60D2BB63A5DB60FBEB33A8A0DA7A0AF5A3A8387 X-Mras: Ok Subject: [Tarantool-patches] [PATCH luajit v1 0/5] Handle all errors during stitching 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 Kaplun via Tarantool-patches Reply-To: Sergey Kaplun Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This patchset handles all possible error types that may be observed during stitching. The first 2 patches add an option to enable table bump optimization for CMake options and add it to the CI exotic build correspondingly. The third patch enhances the testing utility to return IRs of aborted trace as well. Also, the reason for the abort of a trace may be examined. The last 2 patches handle all possible errors during stitching and ensure that the output of `jit.dump()` is valid for all cases. Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-1166-errors-stitching Related Issues: * https://github.com/LuaJIT/LuaJIT/issues/1166 * https://github.com/LuaJIT/LuaJIT/pull/720 * https://github.com/LuaJIT/LuaJIT/issues/606 * https://github.com/tarantool/tarantool/issues/9924 Mike Pall (2): Handle all types of errors during trace stitching. Use generic trace error for OOM during trace stitching. Sergey Kaplun (3): build: introduce option LUAJIT_ENABLE_TABLE_BUMP ci: add tablebump flavor for exotic builds test: allow `jit.parse` to return aborted traces .github/workflows/exotic-builds-testing.yml | 10 ++- CMakeLists.txt | 17 ++++ src/lj_ffrecord.c | 23 +++-- test/tarantool-tests/CMakeLists.txt | 1 + .../lj-1166-error-stitch-oom-ir-buff.test.lua | 83 ++++++++++++++++++ ...j-1166-error-stitch-oom-snap-buff.test.lua | 85 +++++++++++++++++++ .../lj-1166-error-stitch-table-bump.test.lua | 38 +++++++++ .../lj-1166-error-stitch/CMakeLists.txt | 1 + .../lj-1166-error-stitch/mockalloc.c | 51 +++++++++++ .../lj-720-errors-before-stitch.test.lua | 40 ++++++++- .../unit-jit-parse-abort.test.lua | 38 +++++++++ test/tarantool-tests/utils/jit/parse.lua | 22 +++-- 12 files changed, 396 insertions(+), 13 deletions(-) create mode 100644 test/tarantool-tests/lj-1166-error-stitch-oom-ir-buff.test.lua create mode 100644 test/tarantool-tests/lj-1166-error-stitch-oom-snap-buff.test.lua create mode 100644 test/tarantool-tests/lj-1166-error-stitch-table-bump.test.lua create mode 100644 test/tarantool-tests/lj-1166-error-stitch/CMakeLists.txt create mode 100644 test/tarantool-tests/lj-1166-error-stitch/mockalloc.c create mode 100644 test/tarantool-tests/unit-jit-parse-abort.test.lua -- 2.44.0