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 AEDF7C6B3A3; Sun, 16 Jun 2024 13:07:32 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org AEDF7C6B3A3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1718532452; bh=zkytezvqWCViab3n5P0Ry1RUoKacfWA/azJoXdWZOAQ=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=Vt0+JyymUoQWy83a3/hmCvxsnKdfBENQfy3dRuti2GhQwj6MP8gfx/Z7xxe6Dw7pH yNNZZlBwMtSnBz2FeLiweGFrGJ2h7EKjyyCS/6+phi45hhVFUHcXwlNlBu4/eO+qRx H/tehu0AMbnKQylEelgSb4kEopDP56BMV/+yO10w= Received: from smtp36.i.mail.ru (smtp36.i.mail.ru [95.163.41.77]) (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 65C2DC6B3A3 for ; Sun, 16 Jun 2024 13:05:45 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 65C2DC6B3A3 Received: by smtp36.i.mail.ru with esmtpa (envelope-from ) id 1sImlc-0000000Ds8e-2xHc; Sun, 16 Jun 2024 13:05:45 +0300 To: Maxim Kokryashkin , Sergey Bronnikov Date: Sun, 16 Jun 2024 13:01:30 +0300 Message-ID: X-Mailer: git-send-email 2.45.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailru-Src: smtp X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD9AC8CA0B4439200FAA6268B5D05BFD5F405B302337288676B00894C459B0CD1B939F5FE1A7D859A6F4E48CA2743841D413E5CF81285F5D2E346FE93AA2FE77B9F1E0A116AA96AFE1E X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7544B1CCE26E01C74EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006373682D752F1DB00E08638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8113AF3E21127A7923706ADDDA2DDA6FC4BDE9F110A6E72E0CC7F00164DA146DAFE8445B8C89999728AA50765F790063793270F7220657A0A389733CBF5DBD5E9C8A9BA7A39EFB766F5D81C698A659EA7CC7F00164DA146DA9985D098DBDEAEC8744B801E316CB65FF6B57BC7E6449061A352F6E88A58FB86F5D81C698A659EA7E827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F7900637B8FA30D9455089A722CA9DD8327EE4930A3850AC1BE2E7356C9A9530EBF72002C4224003CC83647689D4C264860C145E X-C1DE0DAB: 0D63561A33F958A5BFA6A226335FAC795002B1117B3ED696885E0AA64DD417F3C89B063BDC7FAC35823CB91A9FED034534781492E4B8EEAD9100EF4B819CCFEBC79554A2A72441328621D336A7BC284946AD531847A6065A535571D14F44ED41 X-C8649E89: 1C3962B70DF3F0ADE00A9FD3E00BEEDF77DD89D51EBB7742D3581295AF09D3DF87807E0823442EA2ED31085941D9CD0AF7F820E7B07EA4CF6C53ADDE97FDA305ED6D38B2704931D5CB2F207FB11FC4134BF2B8833813434FE125D5F9813FCCC5BC11D93875BCBCAC56A0633E551B8214D659E757893969AF3904CE5CA29682FAC226CC413062362A913E6812662D5F2A5EAB5682573093F7837F15F2B5E4A70B33F2C28C22F508233FCF178C6DD14203 X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojsYa7y8j7e8f+VWnHxdTQyA== X-DA7885C5: 7A9A75B594C37702F255D290C0D534F960CA82331E920FBA32C2D88E5D903E00D7FB2525894240495B1A4C17EAA7BC4BEF2421ABFA55128DAF83EF9164C44C7E X-Mailru-Sender: 689FA8AB762F7393C6D0B12EA33CAA9B316E1126F9DEACFA06DD90EA4964F022AB04B46C8F52F3C4E49D44BB4BD9522A059A1ED8796F048DB274557F927329BE89D5A3BC2B10C37545BD1C3CC395C826B4A721A3011E896F X-Mras: Ok Subject: [Tarantool-patches] [PATCH v2 luajit 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 Changes in v2: * Renamed `mockalloc` Lua C library to the `allocinject` * Renamed {mock, unmock} -> {enable, disable} * Dropped luacheck inline suppressions for _TARANTOOL * Fixed typos and added comments 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 | 92 +++++++++++++++++++ ...j-1166-error-stitch-oom-snap-buff.test.lua | 91 ++++++++++++++++++ .../lj-1166-error-stitch-table-bump.test.lua | 38 ++++++++ .../lj-1166-error-stitch/CMakeLists.txt | 1 + .../lj-1166-error-stitch/allocinject.c | 52 +++++++++++ .../lj-720-errors-before-stitch.test.lua | 40 +++++++- .../unit-jit-parse-abort.test.lua | 38 ++++++++ test/tarantool-tests/utils/jit/parse.lua | 24 ++++- 12 files changed, 414 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/allocinject.c create mode 100644 test/tarantool-tests/unit-jit-parse-abort.test.lua -- 2.45.1