[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [patch] gcc4 host support
From: |
Paul Brook |
Subject: |
Re: [Qemu-devel] [patch] gcc4 host support |
Date: |
Thu, 19 May 2005 14:20:16 +0100 |
User-agent: |
KMail/1.7.2 |
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
- Re: [Qemu-devel] [patch] gcc4 host support, (continued)
- Re: [Qemu-devel] [patch] gcc4 host support, David Woodhouse, 2005/05/18
- Re: [Qemu-devel] [patch] gcc4 host support, John Hogerhuis, 2005/05/18
- Re: [Qemu-devel] [patch] gcc4 host support, Paul Brook, 2005/05/18
- Re: [Qemu-devel] [patch] gcc4 host support, David Woodhouse, 2005/05/18
- Re: [Qemu-devel] [patch] gcc4 host support, Paul Brook, 2005/05/18
- Re: [Qemu-devel] [patch] gcc4 host support, jeebs, 2005/05/18
- Re: [Qemu-devel] [patch] gcc4 host support, Ian Rogers, 2005/05/18
- Re: [Qemu-devel] [patch] gcc4 host support, Paul Brook, 2005/05/18
- Re: [Qemu-devel] [patch] gcc4 host support, Ian Rogers, 2005/05/18
- Re: [Qemu-devel] [patch] gcc4 host support, Gwenole Beauchesne, 2005/05/19
- Re: [Qemu-devel] [patch] gcc4 host support,
Paul Brook <=
- Re: [Qemu-devel] [patch] gcc4 host support, Gwenole Beauchesne, 2005/05/19
- Re: [Qemu-devel] [patch] gcc4 host support, Paul Brook, 2005/05/19
- Re: [Qemu-devel] [patch] gcc4 host support, Thomas Steffen, 2005/05/19
- Re: [Qemu-devel] [patch] gcc4 host support, Paul Brook, 2005/05/19
- Re: [Qemu-devel] [patch] gcc4 host support, Tim Walker, 2005/05/19
- Re: [Qemu-devel] [patch] gcc4 host support, Paul Brook, 2005/05/19
- Re: [Qemu-devel] [patch] gcc4 host support, Thomas Steffen, 2005/05/19
- Re: [Qemu-devel] [patch] gcc4 host support, John Hogerhuis, 2005/05/19
- Re: [Qemu-devel] [patch] gcc4 host support, Thomas Steffen, 2005/05/20
- Re: [Qemu-devel] [patch] gcc4 host support, Paul Brook, 2005/05/20