From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33351) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOacR-0002gi-L7 for qemu-devel@nongnu.org; Fri, 14 Mar 2014 18:30:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WOacM-0002ZS-Rj for qemu-devel@nongnu.org; Fri, 14 Mar 2014 18:30:23 -0400 Received: from mail-qa0-x235.google.com ([2607:f8b0:400d:c00::235]:36622) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WOacM-0002WS-NN for qemu-devel@nongnu.org; Fri, 14 Mar 2014 18:30:18 -0400 Received: by mail-qa0-f53.google.com with SMTP id w8so3190668qac.12 for ; Fri, 14 Mar 2014 15:30:17 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Fri, 14 Mar 2014 15:30:10 -0700 Message-Id: <1394836210-15934-1-git-send-email-rth@twiddle.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [PATCH] cpu: Move tcg_exit_req to the end of CPUState List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Andreas=20F=C3=A4rber?= Reverse an increase in the size of generated code. Cc: Andreas Färber Signed-off-by: Richard Henderson --- include/qom/cpu.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/include/qom/cpu.h b/include/qom/cpu.h index 06ee263..f99885a 100644 --- a/include/qom/cpu.h +++ b/include/qom/cpu.h @@ -227,7 +227,6 @@ struct CPUState { bool stop; bool stopped; volatile sig_atomic_t exit_request; - volatile sig_atomic_t tcg_exit_req; uint32_t interrupt_request; int singlestep_enabled; int64_t icount_extra; @@ -272,6 +271,12 @@ struct CPUState { } icount_decr; uint32_t can_do_io; int32_t exception_index; /* used by m68k TCG */ + + /* Note that this is accessed at the start of every TB via a negative + offset from AREG0. Leave this field at the end so as to make the + (absolute value) offset as small as possible. This reduces code + size, especially for hosts without large memory offsets. */ + volatile sig_atomic_t tcg_exit_req; }; QTAILQ_HEAD(CPUTailQ, CPUState); -- 1.8.5.3