qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Bollhalder" <bolle@geodb.org>
To: qemu-devel@nongnu.org
Subject: RE: [Qemu-devel] Idea for speed improvement
Date: Wed, 6 Oct 2004 17:56:43 +0200	[thread overview]
Message-ID: <000001c4abbd$1364fa90$6401a8c0@geodb.org> (raw)
In-Reply-To: <Pine.LNX.4.58.0410061557040.25549@wgmdd8.biozentrum.uni-wuerzburg.de>

Looks fine ;-) Would GCC sort
for example a case statement,
that the most used op-codes
will be the first entry ?
Could shurly save some cycles.
Or maybe I'm totaly wrong ?

Andreas

-----Original Message-----
From:
qemu-devel-bounces+bolle=geodb
.org@nongnu.org
[mailto:qemu-devel-bounces+bol
le=geodb.org@nongnu.org] On
Behalf Of Johannes Schindelin
Sent: Wednesday, October 06,
2004 4:19 PM
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] Idea for
speed improvement


*This message was transferred
with a trial version of
CommuniGate(tm) Pro*
Hi,

how about the following
scenario: We add a "-profile
<filename>" option to
QEmu, which just writes out
profiling data:

- all the (optimized)
intermediate stages of all the
translated blocks are
  written into that file.
- the first op will be
op_incr_tb_usage_counter,
which increments a
  counter in the TB structure.
- whenever a TB is flushed,
the counter is written into
that file also.

After one run with "-profile",
a tool can analyze that data,
and generate
a header file which inlines
the most frequent sequences to
produce new
op_* functions, and code for
the optimization phase of the
dynamic
translation, which collapses
those sequences to the newly
created ops.

Then, QEmu is compiled anew,
using that code.

This all depends on gcc doing
a good job at optimizing the
hell out of
those sequences, of course.

Just op_exit_tb cannot be
inlined like that, because of
the stack problem
I mentioned earlier on this
list.

Thoughts, comments, bashing?

Ciao,
Dscho

P.S.: Fabrice, is this what
you meant by "gcc backend"?



______________________________
_________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailma
n/listinfo/qemu-devel

  reply	other threads:[~2004-10-06 16:06 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-06 14:19 [Qemu-devel] Idea for speed improvement Johannes Schindelin
2004-10-06 15:56 ` Andreas Bollhalder [this message]
2004-10-06 16:18   ` Johannes Schindelin
2004-10-07 16:23     ` Andreas Bollhalder

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='000001c4abbd$1364fa90$6401a8c0@geodb.org' \
    --to=bolle@geodb.org \
    --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).