qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Paul Brook <paul@codesourcery.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [patch] gcc4 host support
Date: Thu, 19 May 2005 14:20:16 +0100	[thread overview]
Message-ID: <200505191420.16777.paul@codesourcery.com> (raw)
In-Reply-To: <DE8E20E8-C836-11D9-875C-003065C7D858@mandriva.com>

On Thursday 19 May 2005 08:23, Gwenole Beauchesne wrote:
> Le mercredi, 18 mai 2005, à 22:48 Europe/Paris, Paul Brook a écrit :
> > It's been said before that the long-term solution is to
> > [incrementally] remove
> > dyngen altogether, and replace it with a had-written code generator.
> > I've discussed this in a bit more detail with Fabrice, and have an
> > almost-working prototype implementation. When I get something that
> > actually
> > works I'll post it to the list for comments.
>
> Have you considered the VEX library? I have not tried it yet but it
> looks promising. However, since it aims at providing a common IR, it
> can miss certain optimizations related to condition codes (at least as
> ppc guest).

Do you have a URL? Neither google nor freshmeat.net turn up anything useful.

> BTW, since dyngen-based JIT is fast enough both at compile time and at
> run time, it could be used to gather stats for a higher optimizing JIT
> (VEX or whatever). e.g. profiling branches in order to optimize hot
> traces, providing hints for indirect branches, etc.

One of the problems with dyngen is it is very fragile, see all the problems 
trying to make it work with gcc4. My initial goal with a JIT is to replace 
dyngen.

The big advantage of dyngen is that it is very specialised to qemu. Even 
though it's about the dumbest JIT implementation you can think of, it gets 
remarkably good results. Compare it with the Jikes RVM based ppc emulator 
mentioned recently. The Jikes RVM has ~100 optimizations passes compared to 
dyngen which has 2 or 3. However the end result is still no better than 
dyngen because most of that optimization effort is used to remove abstraction 
that dygen doesn't introduce in the first place.

It would be nice if we could use some sort of portable JIT library, however I 
think in reality a few qemu specific hacks(most of which we already use with 
dyngen) and a relatively dumb JIT are going to perform better.

Paul

  reply	other threads:[~2005-05-19 13:48 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-11 21:04 [Qemu-devel] [patch] gcc4 host support Paul Brook
2005-05-12 17:00 ` Paul Brook
2005-05-12 22:13   ` Pascal Terjan
2005-05-12 22:25     ` Paul Brook
2005-05-14  7:55   ` Filip Navara
2005-05-14 11:53     ` Paul Brook
2005-05-14 11:56       ` Filip Navara
2005-06-17  4:30   ` [Qemu-devel] Fedora 4 + GCC4 + Qemu WAS: " Darryl Dixon
2005-06-17 12:45     ` Paul Brook
     [not found]       ` <1119013084.5187.4.camel@darrylsfc3box>
2005-06-17 13:02         ` Paul Brook
2005-06-17 22:18           ` David Woodhouse
2005-06-20  1:18           ` Darryl Dixon
2005-05-16  9:41 ` [Qemu-devel] " David Woodhouse
2005-05-17 20:46   ` Paul Brook
2005-05-18 10:06     ` Herbert Poetzl
2005-05-18 16:02       ` Paul Brook
2005-05-18 16:10         ` David Woodhouse
2005-05-18 19:29       ` John Hogerhuis
2005-05-18 20:48         ` Paul Brook
2005-05-18 20:55           ` David Woodhouse
2005-05-18 21:16             ` Paul Brook
2005-05-18 21:29             ` jeebs
2005-05-18 22:37               ` Paul Brook
2005-05-18 23:05                 ` Ian Rogers
2005-05-18 22:37               ` Ian Rogers
2005-05-19  7:23           ` Gwenole Beauchesne
2005-05-19 13:20             ` Paul Brook [this message]
2005-05-19 14:07               ` Gwenole Beauchesne
2005-05-19 15:44                 ` Paul Brook
2005-05-19 18:14                   ` Thomas Steffen
2005-05-19 18:52                     ` Paul Brook
2005-05-19 19:38                       ` Tim Walker
2005-05-19 19:45                         ` Paul Brook
2005-05-19 21:03                       ` Thomas Steffen
2005-05-19 22:25                         ` John Hogerhuis
2005-05-20  9:59                           ` Thomas Steffen
2005-05-20 12:57                           ` Paul Brook
2005-05-19 16:18                 ` Ian Rogers
2005-05-19 13:47             ` McMullan, Jason

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=200505191420.16777.paul@codesourcery.com \
    --to=paul@codesourcery.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).