From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LjYlq-00037I-Et for qemu-devel@nongnu.org; Tue, 17 Mar 2009 08:51:50 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LjYlm-000376-TK for qemu-devel@nongnu.org; Tue, 17 Mar 2009 08:51:50 -0400 Received: from [199.232.76.173] (port=46906 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LjYlm-000373-Pb for qemu-devel@nongnu.org; Tue, 17 Mar 2009 08:51:46 -0400 Received: from mx20.gnu.org ([199.232.41.8]:62934) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1LjYlm-0007Aw-CC for qemu-devel@nongnu.org; Tue, 17 Mar 2009 08:51:46 -0400 Received: from mail.codesourcery.com ([65.74.133.4]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LjYlk-0002jh-Dw for qemu-devel@nongnu.org; Tue, 17 Mar 2009 08:51:44 -0400 From: Paul Brook Subject: Re: [Qemu-devel] Re: branches are expensive Date: Tue, 17 Mar 2009 12:51:40 +0000 References: <49BF8A5B.7070706@siemens.com> In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200903171251.41148.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Steffen Liebergeld > The ratio is quite bad. Do you have any documentation on when Qemu does the > chaining and more important, when it does not. For example are > unconditional jumps always chained, or only in one direction (forward or > backward). Direct jumps[1] within the same page are chained (including ). Indirect jumps[2] and direct jumps to a different page are not chained. Chaining jumps between pages would require breaking TB chains every time a TLB flush occurs. Unchained jumps just a two stage lookup to cache frequently used entries. Paul [1] b, b and bl [2] bx, mov pc, ldr pc, pop {pc}