From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NuS11-0003RE-Rw for qemu-devel@nongnu.org; Wed, 24 Mar 2010 10:57:03 -0400 Received: from [140.186.70.92] (port=35430 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NuS0z-0003Qn-NC for qemu-devel@nongnu.org; Wed, 24 Mar 2010 10:57:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NuS0x-00071i-Vm for qemu-devel@nongnu.org; Wed, 24 Mar 2010 10:57:01 -0400 Received: from mx20.gnu.org ([199.232.41.8]:41936) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NuS0x-00071e-Te for qemu-devel@nongnu.org; Wed, 24 Mar 2010 10:56:59 -0400 Received: from mail.codesourcery.com ([38.113.113.100]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NuS0x-0002RP-2B for qemu-devel@nongnu.org; Wed, 24 Mar 2010 10:56:59 -0400 From: Paul Brook Subject: Re: [Qemu-devel] Re: Compile files only once: some planning Date: Wed, 24 Mar 2010 14:56:55 +0000 References: <4BA9F52C.6070309@twiddle.net> <4BAA25A7.7000201@redhat.com> In-Reply-To: <4BAA25A7.7000201@redhat.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201003241456.55779.paul@codesourcery.com> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Blue Swirl , Paolo Bonzini , Richard Henderson > On 03/24/2010 12:19 PM, Richard Henderson wrote: > > On 03/24/2010 02:47 AM, Paolo Bonzini wrote: > >> 1) make CPUState define only common fields. Include CPUState at the > >> beginning of each per-target CPUXYZState. > > > > Irritatingly, the common fields contain quite big TLBs. And the > > offsets from the start of env affect the compactness of the code > > generated from TCG. We really really want the general registers > > to come first to make sure that those offsets fit the host's > > reg+offset addressing mode. > > What about adding a 512-bytes (or more) block or something like that at > the beginning of CPUState with a union, so you can put the per-target > stuff there? Is it really worth the hassle? Anything touching CPUState is probably going to be CPU specific anyway. Paul