qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org, jhoger@pobox.com
Subject: Re: [Qemu-devel] qemu optimization
Date: Tue, 30 Aug 2005 12:17:39 +0100	[thread overview]
Message-ID: <200508301217.40302.paul@codesourcery.com> (raw)
In-Reply-To: <1125386989.30257.65.camel@aragorn>

> > Without them, there is no native code run by qemu - everything is
> > translated.
>
> Yep. But even in that situation, there will always be room for
> improvement in how the dynamic code generator works.
>
> I wonder, has anyone tried doing a peephole optimizer? Translate key
> instruction sequences to macro instructions? There have got to be a few
> such high-traffic sequences that run all the time in Windows or Linux
> that could be implemented in the dynamically generated dynamic code
> generator.

You might want to look at my hand-coded backed for qemu. The intention is that 
this will eventually replace dyngen/gcc altogether. Currently everything 
except the experimental m68k target uses a mixture of the old and the 
micro-ops.

One of the differences is that most of the semantics and guest CPU state 
accesses are explicit, so it should be possible to use conventional 
optimisation techniques (including peepholes).

Source and patches can be found at
https://nowt.dyndns.org

As proof-of-concept I also implemented a simple register propagation pass, and 
got a 15% speedup on the nbench benchmark.

Paul

  reply	other threads:[~2005-08-30 11:23 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-29 16:56 [Qemu-devel] Re: qemu 0.7.1 + dkms-qvm86-0.7.1 (mandriva 2005 / cooker) produces version mismatch Hannes Fuchs
2005-08-29 18:05 ` [Qemu-devel] QEMU_TMPDIR temp folder for KQEMU for Windows Francois Rioux
2005-08-29 18:53   ` John R. Hogerhuis
2005-08-29 21:59     ` Jim C. Brown
2005-08-30  7:29       ` [Qemu-devel] qemu optimization John R. Hogerhuis
2005-08-30 11:17         ` Paul Brook [this message]
2005-08-30 18:05           ` John R. Hogerhuis
2005-08-30 18:30             ` Paul Brook
2005-08-29 22:01   ` [Qemu-devel] QEMU_TMPDIR temp folder for KQEMU for Windows Jim C. Brown
2005-08-30  3:45     ` Francois Rioux
2005-08-30  9:08       ` Filip Navara
2005-08-30 13:42         ` Francois Rioux
2005-08-30 14:02           ` Paul Brook
2005-09-03 13:51           ` ace
2005-09-03 17:35             ` Doctor Bill
2005-09-03 14:48           ` Filip Navara

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200508301217.40302.paul@codesourcery.com \
    --to=paul@codesourcery.com \
    --cc=jhoger@pobox.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).