On Thursday 19 May 2005 15:07, Gwenole Beauchesne wrote:
> On Thu, 19 May 2005, Paul Brook wrote:
> > Do you have a URL? Neither google nor freshmeat.net turn up anything
> > useful.
>
> Sorry, here it is:
> <http://svn.valgrind.org/vex/trunk/> (used for valgrind 3.0)
> <http://www.valgrind.org/devel/cvs_svn.html>

This looks interesting, the problem is how to get it to cooperate with the 
dyngen code. We hold some guest CPU state (or at least intermediate state) in 
host registers.

I guess it depends wether you're willing to throw out dyngen and implement 
everything in one go.  I'm currently trying an incremental approach (as 
suggested by Fabrice), in which case I think a custom JIT is pretty much the 
only option.

> > 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.
>
> What about using GNU lightning as an intermediate solution? It has a
> RISC-style ISA with up to 6 registers exposed. It's "dumb" (no
> optimization) but it's good at generating code. I think it matches most
> the "synthetic instruction" approach of dyngen.

I don't think GNU lightning really gains us much. We'd still have to do the 
hard bits (optimization, register allocation, assigning stack slots, etc). 
The actual native code generation (which is what lightning gives you) is only 
a few hundred lines of code.

Paul


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to