From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47515) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aj65O-0005UP-6j for qemu-devel@nongnu.org; Thu, 24 Mar 2016 10:18:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aj65I-0003dG-FE for qemu-devel@nongnu.org; Thu, 24 Mar 2016 10:18:06 -0400 Received: from mail-lf0-x244.google.com ([2a00:1450:4010:c07::244]:34199) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aj65I-0003d7-74 for qemu-devel@nongnu.org; Thu, 24 Mar 2016 10:18:00 -0400 Received: by mail-lf0-x244.google.com with SMTP id i75so3817066lfb.1 for ; Thu, 24 Mar 2016 07:18:00 -0700 (PDT) References: <1458815961-31979-1-git-send-email-sergey.fedorov@linaro.org> <1458815961-31979-3-git-send-email-sergey.fedorov@linaro.org> From: Sergey Fedorov Message-ID: <56F3F715.1080909@gmail.com> Date: Thu, 24 Mar 2016 17:17:57 +0300 MIME-Version: 1.0 In-Reply-To: <1458815961-31979-3-git-send-email-sergey.fedorov@linaro.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/8] tcg: Use uintptr_t type for jmp_list_{next|first} fields of TB List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: sergey.fedorov@linaro.org, qemu-devel@nongnu.org Cc: Paolo Bonzini , Richard Henderson , =?UTF-8?Q?Alex_Benn=c3=a9e?= , Peter Crosthwaite On 24/03/16 13:39, sergey.fedorov@linaro.org wrote: > - * The two least significant bits of a pointer are used to choose which > - * data field holds a pointer to the next TB: > + * jmp_list_first and jmp_list_next are 4-byte aligned pointers to a > + * TranslationBlock structure, and the two least significant bits of them > + * are used to encode which data field holds a pointer to the next TB: Maybe would be better described like this: "..., and the two least significant bits of them are used to encode which data field of the pointed TB should be used to traverse the list further from that TB: ..."? Kind regards, Sergey > * 0 => jmp_list_next[0], 1 => jmp_list_next[1], 2 => jmp_list_first. > * In other words, 0/1 tells which jump is used in the pointed TB, > * and 2 means that this is a pointer back to the target TB of this list. > */ > - struct TranslationBlock *jmp_list_next[2]; > - struct TranslationBlock *jmp_list_first; > + uintptr_t jmp_list_next[2]; > + uintptr_t jmp_list_first;