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 86AA814DFB40; Mon, 25 Aug 2025 17:21:31 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 86AA814DFB40 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1756131691; bh=w6z7b7YDxIK5k/uRz4JInxavEig5YSpt4DY5HtljWrs=; h=Date:To:Cc:References:In-Reply-To:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=Q2NwWi5J7Cqrh5oPBBl2uA8YPyy/2Bp4dmxufMRnACOnaenyyrFlxdgmGZ/uryFFQ WabWWHN2TBRJXRA1MgHcAm7X2pcXKiSKHWbjBvSMSwqrnNpNHSboveFq4vkvRcz7e2 qGla1MiUW0GmShng3VAtDwGFIV7TABqmJqkB7Zjs= Received: from send103.i.mail.ru (send103.i.mail.ru [89.221.237.198]) (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 2A05950E556 for ; Mon, 25 Aug 2025 17:21:30 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 2A05950E556 Received: by exim-smtp-6944cbb85b-rgnp8 with esmtpa (envelope-from ) id 1uqY4f-00000000KjV-1PzV; Mon, 25 Aug 2025 17:21:29 +0300 Content-Type: multipart/alternative; boundary="------------dFWfsm10BuOW6jZI0OHwxmw6" Message-ID: <73234419-5e68-45cb-ac13-da2b103ee26e@tarantool.org> Date: Mon, 25 Aug 2025 17:21:29 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: Sergey Kaplun Cc: tarantool-patches@dev.tarantool.org References: <0183aa1f346bf87d8e626274323c87e2291e75bf.1753344905.git.skaplun@tarantool.org> Content-Language: en-US In-Reply-To: <0183aa1f346bf87d8e626274323c87e2291e75bf.1753344905.git.skaplun@tarantool.org> X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: B8F34718100C35BD X-77F55803: 4F1203BC0FB41BD9F7647FA575010556EB3CE62DFDA15333CDF4D199F9AFAAA6182A05F538085040FC525195D312673D3DE06ABAFEAF6705D90C91B3C2394492316B7F4D2A971770B3FF27712106A5C5 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE70186A8DAAA7CBDB1EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637F88016AB904663428638F802B75D45FF914D58D5BE9E6BC1A93B80C6DEB9DEE97C6FB206A91F05B2C3FF212D026680F22E070BE324C7D3C49EA796D4B5C89FE3F6B57BC7E64490618DEB871D839B73339E8FC8737B5C224952D31B9D28593E51CC7F00164DA146DAFE8445B8C89999729449624AB7ADAF37F6B57BC7E64490611E7FA7ABCAF51C92176DF2183F8FC7C0ECC8AC47CD0EDEFF8941B15DA834481F9449624AB7ADAF37BA3038C0950A5D3613377AFFFEAFD269176DF2183F8FC7C04606285C4B2CAE5F7B076A6E789B0E97A8DF7F3B2552694AD5FFEEA1DED7F25D49FD398EE364050F9647ADFADE5905B128F6BDBBAB179F4EB3661434B16C20ACC84D3B47A649675FE827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F790063735872C767BF85DA227C277FBC8AE2E8B361A74BF75351E49EFF80C71ABB335746BA297DBC24807EABDAD6C7F3747799A X-C1DE0DAB: 0D63561A33F958A594D6A9B2C24E620F5002B1117B3ED696F1EE17E0DA8F9B645B6221DB6D7A72AD823CB91A9FED034534781492E4B8EEAD3CCD70CEBBF18A22BDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0ADBF74143AD284FC7177DD89D51EBB7742424CF958EAFF5D571004E42C50DC4CA955A7F0CF078B5EC49A30900B95165D34A63B03BCD35E0C0A710FC6AA3FF2EE8E236C401A5B73E91C3113AC1A580606074807A09B38E7CA491D7E09C32AA3244CD275160C74BC4C3F77DD89D51EBB7742A72DCDA2DAF22A2BEA455F16B58544A2E30DDF7C44BCB90DA5AE236DF995FB59978A700BF655EAEEED6A17656DB59BCAD427812AF56FC65B X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVXNcwk+fZooKeq2qx5HIgCI= X-Mailru-Sender: 811C44EDE0507D1F797560C68D020EBDA1366C4368CB98349B464708D7791FD7F483CB26C27A0B3C8BE41AB8651A3568645D15D82EE4B272BD6E4642A116CA93524AA66B5ACBE6721EF430B9A63E2A504198E0F3ECE9B5443453F38A29522196 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH luajit 2/3] ARM64: More improvements to the generation of immediates. 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 Bronnikov via Tarantool-patches Reply-To: Sergey Bronnikov Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" This is a multi-part message in MIME format. --------------dFWfsm10BuOW6jZI0OHwxmw6 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, Sergey! thanks for the patch! In general LGTM, I would suggest fixing the description in commit message. See below. Sergey On 7/24/25 12:03, Sergey Kaplun wrote: > From: Mike Pall > > (cherry picked from commit 69138082a3166105faa8cbb25fadb1e4298686c0) > > This patch refactors the emitting of immediates for the arm64 > architecture. The main changes are the following: > * Use `emit_getgl()`, `emit_setgl()` instead of `emit_lso()`, where it > is possible, since it makes the code cleaner. > * The `RID_GL` is allocated for `g` at the start of the trace emitting. > Also, this register is considered as a candidate to be used as a base > for the N-step offset in `emit_kdelta()`. > * The address of `tmptv` is not rematerialized to the register from the > constant not. It is calculated via the adding the corresponding > offset to `RID_GL`. it is not clear for me what for hunks with `emit_dm` are needed. --------------dFWfsm10BuOW6jZI0OHwxmw6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

Hi, Sergey!

thanks for the patch!

In general LGTM, I would suggest fixing the description in commit message.

See below.

Sergey

On 7/24/25 12:03, Sergey Kaplun wrote:
From: Mike Pall <mike>

(cherry picked from commit 69138082a3166105faa8cbb25fadb1e4298686c0)

This patch refactors the emitting of immediates for the arm64
architecture. The main changes are the following:
* Use `emit_getgl()`, `emit_setgl()` instead of `emit_lso()`, where it
  is possible, since it makes the code cleaner.
* The `RID_GL` is allocated for `g` at the start of the trace emitting.
  Also, this register is considered as a candidate to be used as a base
  for the N-step offset in `emit_kdelta()`.
* The address of `tmptv` is not rematerialized to the register from the
  constant not. It is calculated via the adding the corresponding
  offset to `RID_GL`.
it is not clear for me what for hunks with `emit_dm` are needed.

<snipped>

--------------dFWfsm10BuOW6jZI0OHwxmw6--