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 556DDB883B3; Mon, 27 May 2024 10:29:43 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 556DDB883B3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1716794983; bh=023NnG4xvQq7kEJoBBQ8UHtkP5O2Ye1IlzsT5rSS33M=; h=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=GW6TBO+z9nTDKavs99vsY03S9OA1Xc6+M3M05gBwS+nHWvcxE03nnnkvGcD06G66W 6IwKgagOo4LwS3roxrSScJjCe/7zSHB/Yo47Dz4lKETgDDTmCvqZMYerpLdYYtOgw3 x2Mji6k3qONYGs/pm7Y3932sk43GZzs+Uxl2hOs8= Received: from smtp48.i.mail.ru (smtp48.i.mail.ru [95.163.41.86]) (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 71F74B883B3 for ; Mon, 27 May 2024 10:29:42 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 71F74B883B3 Received: by smtp48.i.mail.ru with esmtpa (envelope-from ) id 1sBUnd-000000058xV-0Zc6; Mon, 27 May 2024 10:29:41 +0300 Date: Mon, 27 May 2024 10:25:27 +0300 To: Maxim Kokryashkin Message-ID: References: <20240517132918.25926-1-skaplun@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD99EF2330544E8CB05AEA28CB29004E22D1454D3C93E64AC31182A05F5380850406AD92CA0D92DA093D27678DDAA806314B5A5EF3FE5EB49337865EC7097EB959C813722A3219C69FF X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE701173C01F417A2A6EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637FA81DCE0280C9CC68F08D7030A58E5AD1A62830130A00468AEEEE3FBA3A834EE7353EFBB55337566B1E5BC44C1D3F97F4A5C0EF5C2F896EB15F99939A0F12457AE5F91649EF217F0389733CBF5DBD5E913377AFFFEAFD269176DF2183F8FC7C078FCF50C7EAF9C588941B15DA834481FCF19DD082D7633A0EF3E4896CB9E6436389733CBF5DBD5E9D5E8D9A59859A8B6D52CD31C43BF465FCC7F00164DA146DA6F5DAA56C3B73B237318B6A418E8EAB8D32BA5DBAC0009BE9E8FC8737B5C22493C6898C3C2F22CEE76E601842F6C81A12EF20D2F80756B5FB606B96278B59C4276E601842F6C81A127C277FBC8AE2E8BF5CE31487DA1EA653AA81AA40904B5D99C9F4D5AE37F343AD1F44FA8B9022EA23BBE47FD9DD3FB595F5C1EE8F4F765FC2EE5AD8F952D28FBE2021AF6380DFAD18AA50765F7900637B8FA30D9455089A722CA9DD8327EE4930A3850AC1BE2E7356436AE5DD6441DC7C4224003CC83647689D4C264860C145E X-C1DE0DAB: 0D63561A33F958A5E0EE47940F0F360F5002B1117B3ED696E5264D97483690A97E0012C66AE17B00823CB91A9FED034534781492E4B8EEADAEB4DDBFD72C8FA1BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADBF74143AD284FC7177DD89D51EBB7742424CF958EAFF5D571004E42C50DC4CA955A7F0CF078B5EC49A30900B95165D346B222596F62B8FA9A63D1668ECCD4BEF9731036BAD3884DE0348806B4CEFBF7D5429622C49DB5FC81D7E09C32AA3244C9855E98D43ACDFBE2887F5EA2DDCF3444A59F6A69ED31FDCEA455F16B58544A2557BDE0DD54B3590A5AE236DF995FB59829709634694AABAED6A17656DB59BCAD427812AF56FC65B X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojnJlDmFYFlmHNWwZIMMRq9w== X-Mailru-Sender: 520A125C2F17F0B1A9638AD358559B598F0809AE9578A5EED27678DDAA806314B5A5EF3FE5EB4933B7CBEF92542CD7C88B0A2698F12F5C9EC77752E0C033A69E86920BD37369036789A8C6A0E60D2BB63A5DB60FBEB33A8A0DA7A0AF5A3A8387 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH luajit] Maintain chain invariant in DCE. 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" Hi, Maxim! Thanks for the review! On 26.05.24, Maxim Kokryashkin wrote: > Hi, Sergey! > Thanks for the patch! > Please consider my comments below. > > On Fri, May 17, 2024 at 04:29:18PM UTC, Sergey Kaplun wrote: > > From: Mike Pall > > > > Thanks to Peter Cawley. > > > > (cherry picked from commit f72c19e482b6f918b7cf42b0436e2b117d160a29) > > > > Instructions with strong guards that are sometimes emitted with a guard > > and sometimes emitted without a guard (like HREFK, CONV, or SLOAD) may > > be eliminated from the IR chain and replaced with the NOP IR. If the > > next IR of the same kind on the trace is not eliminated, it may > > reference the IR NOP instead of an instruction of the same type. This > > may lead to the corresponding assertion failure in the `rec_check_ir()`. > > > > This patch unconditionally links the IRs during chain maintenance in > > DCE. > > > > Sergey Kaplun: > > * added the description and the test for the problem > > > > Part of tarantool/tarantool#9924 > > --- > > > > Be aware that the reproducer from the ticket does not lead to the > > assertion failure (this is why it is omitted in the test). I suppose it > > just illustrates the situation when the IR is left off the chain. > > Although the reproducer is clumsy, I can't simplify it or make it less > > tricky. Please, ideas are welcome :). > > The test doesn't reproduce before the patch on ARM64. Tested on M1 with > the following flags: > | -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON \ > | -DLUAJIT_ENABLE_CHECKHOOK=ON` I suppose this is due to the enabled by default DUALNUM mode, so there are no needed CONV IRs, so there are no IR chains built incorrectly. -- Best regards, Sergey Kaplun