dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [DotGNU]New project announcement - libjit


From: Miroslaw Dobrzanski-Neumann
Subject: Re: [DotGNU]New project announcement - libjit
Date: Wed, 28 Apr 2004 14:32:47 +0200
User-agent: Mutt/1.4i

Hello,

I have just taken a look at the library. It looks pretty good. I wonder if it
takes its way to pnet.

Looking at the source I have found the same design lines as the enroller code
in pnet/engine. Some aspects of it let me curse on the actual implementation
first of all is the hardcoding of the backend:

---- cut from jit-rules.h ----
#if defined(JIT_BACKEND_INTERP)
        #include "jit-rules-interp.h"
#elif defined(JIT_BACKEND_X86)
        #include "jit-rules-x86.h"
#elif defined(JIT_BACKEND_ARM)
        #include "jit-rules-arm.h"
#else
        #error "unknown jit backend type"
#endif
---- cut ----

Why do you hard wire the enroller in the engine? This *successfully* holds
*hacker* like me from playing with the code generation.

Having an plugable open backend interface via virtual tables would allow many
people to take part in the "BEST ENROLLER COMPETITION".

Few months ago I have played with the register allocation optimization in the
pnet enroller (using all cpu registers and tracking their usage). Finally I
gave it up after I realized that the integration into hardwired enroller
code is a hopless task.

It would be very nice if you sette a well-defined backend interface for
an independent pluggable enroller.

Regards,
        Mirosław

On Sat, Apr 24, 2004 at 09:19:22PM +1000, Rhys Weatherley wrote:
> Hi all,
> 
> While on sabbatical from pnet, I've been coding feverishly on a new project 
> under the DotGNU banner called "libjit" (and you thought that I was taking 
> things easy :-) ).
> 
> The libjit library implements Just-In-Time compilation functionality. Unlike 
> other JIT's, this one is designed to be independent of any particular virtual 
> machine bytecode format or language. The hope is that Free Software projects 
> can get a leg-up on proprietry VM vendors by using this library rather than 
> spending large amounts of time writing their own JIT from scratch.
> 
> This JIT is also designed to be portable to multiple archictures. If you run 
> libjit on a machine for which a native code generator is not yet available, 
> then libjit will fall back to interpreting the code. This way, you don't need 
> to write your own interpreter for your bytecode format if you don't want to.
> 
> The development page on my Web site is now live, with a preliminary version 
> that you can download and play with.  I'm still about a week or two away from 
> running real code, but wanted to release this early look so that people can 
> start helping out with new backends, optimizers, and any other cool ideas 
> that you can think of.
> 
>     http://www.southern-storm.com.au/libjit.html
> 
> Norbert has created a new mailing list called "address@hidden" 
> for discussing the development of this new project.  Right now it is 
> independent of pnet (that's the point), but we'll eventually modify pnet to 
> use it for JIT'ing.
> 
> Cheers,
> 
> Rhys.
> 
> _______________________________________________
> Developers mailing list
> address@hidden
> http://dotgnu.org/mailman/listinfo/developers
> 

-- 
Mirosław Dobrzański-Neumann
E-mail: address@hidden

This message is utf-8 encoded


reply via email to

[Prev in Thread] Current Thread [Next in Thread]