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 BE23A5C286B; Thu, 17 Aug 2023 16:55:48 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org BE23A5C286B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1692280548; bh=F6U/fyGDmu5HfZGKT+qZkYBw14QuoYctSDIPRJM45hU=; 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=hYoty93Uxhf82nIgBZhGmCq88Tivx/zTwePyjo5c+sQ6OMekMXpchT7ko3N27TtH9 vae8gWOMoOxc7N7np4K5ft/Umu2SKhKyPdnvJUEbSFsPHUsDrFinqAngyZvZMu/Jpe j/Z5+IaNmnbVZjT+Ht3o9CPiPh+1izi+FatSrxx8= Received: from smtp47.i.mail.ru (smtp47.i.mail.ru [95.163.41.85]) (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 A4C7D5C2841 for ; Thu, 17 Aug 2023 16:55:47 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org A4C7D5C2841 Received: by smtp47.i.mail.ru with esmtpa (envelope-from ) id 1qWdTW-001JGj-1Q; Thu, 17 Aug 2023 16:55:46 +0300 Date: Thu, 17 Aug 2023 16:50:59 +0300 To: Sergey Bronnikov Message-ID: References: <37c2435a3529beb36c2e428f9c8e8b5c007c68e7.1691592488.git.skaplun@tarantool.org> <76c36c3b-fc98-4494-e275-f9a903fab61c@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <76c36c3b-fc98-4494-e275-f9a903fab61c@tarantool.org> X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD9700E0DCE2907754D4D249011687940C6678A0DD020DA6E3B182A05F5380850406B7962113CB8FE338E5EAC93224C43AC305F84AAF7257F14C3A7F3F9A851B7B8 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7B9FBA884A7C9B8BAEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006378D08D652E28591A78638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8D01D91D0283054F5D438EA66DE8A7E11117882F4460429724CE54428C33FAD305F5C1EE8F4F765FC5613D04DEA810176A471835C12D1D9774AD6D5ED66289B52BA9C0B312567BB23117882F44604297287769387670735201E561CDFBCA1751FCB629EEF1311BF91D2E47CDBA5A96583BA9C0B312567BB2376E601842F6C81A19E625A9149C048EE0AC5B80A05675ACDC766E17BBE5724E9D8FC6C240DEA76429C9F4D5AE37F343AA9539A8B242431040A6AB1C7CE11FEE3F8BD4E506CFA3D88C0837EA9F3D19764C4224003CC836476E2F48590F00D11D6E2021AF6380DFAD1A18204E546F3947CB11811A4A51E3B096D1867E19FE1407978DA827A17800CE705056152E029236E2DBA43225CD8A89F616AD31D0D18CD5C262FEC7FBD7D1F5BB5C8C57E37DE458BEDA766A37F9254B7 X-C1DE0DAB: 0D63561A33F958A5E37B18077AEECA869B62123DBAF61960E1025A028F061139F87CCE6106E1FC07E67D4AC08A07B9B02A336C6518635091CB5012B2E24CD356 X-C8649E89: 1C3962B70DF3F0ADBF74143AD284FC7177DD89D51EBB7742424CF958EAFF5D571004E42C50DC4CA955A7F0CF078B5EC49A30900B95165D3480A9008907CB2FD0CC7EA832AE2A7728C7463764D4F0BA146C94941BB2D0A86117D198927EB259A51D7E09C32AA3244CA70FB8A2FDFACDA3867EBB3EE1EC4A5D3FD9C8CA1B0515E0BAD658CF5C8AB4025DA084F8E80FEBD3202CD0F03380D9577A83BD0C44CE203720ABEDE4BBDD9CDD X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojFRrmMqSMPxqnUZ6lg4rGZg== X-Mailru-Sender: 11C2EC085EDE56FAC07928AF2646A7699CA2319381FB93F98E5EAC93224C43AC79D0F6AC9C0BD8DBDEDBA653FF35249392D99EB8CC7091A70E183A470755BFD208F19895AA18418972D6B4FCE48DF648AE208404248635DF X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH luajit 17/19] MIPS64: Fix register allocation in assembly of HREF. 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, Sergey! Thanks for the review! On 17.08.23, Sergey Bronnikov wrote: > Hi, Sergey! > > > Thanks for the patch! > > Test is passed after reverting the patch. > > > On 8/9/23 18:36, Sergey Kaplun wrote: > > From: Mike Pall > > > > Contributed by James Cowgill. > > > > (cherry-picked from commit 99cdfbf6a1e8856f64908072ef10443a7eab14f2) > > > > The issue is observed for the following merged IRs: > > | p64 HREF 0001 "a" ; or other keys > > | > p64 EQ 0002 [0x4002d0c528] ; nilnode > > Sometimes, when we need to rematerialize a constant during evicting of > > the register. So, the instruction related to constant rematerialization > > is placed in the delay branch slot, which suppose to contain the loads > > of trace exit number to the `$ra` register. The resulting assembly is > > the following (for example): > > | beq ra, r1, 0x400abee9b0 ->exit > > | lui r1, 65531 ; delay slot without setting of the `ra` > > This leading to the assertion failure during trace exit in > > `lj_trace_exit()`, since a trace number is incorrect. > > > > This patch moves the constant register allocations above the main > > instruction emitting code in `asm_href()`. > > > > Sergey Kaplun: > > * added the description and the test for the problem > > Test is passed after reverting the patch. LuaJIT was built with and > without GC64. The test case is for MIPS, since the changes are only for MIPS too. But in general it is good practise to test other arches too, for observing any inconsistencies. > > > -- Best regards, Sergey Kaplun