[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: JIT pluggability
From: |
Artur Biesiadowski |
Subject: |
Re: JIT pluggability |
Date: |
Fri, 09 Jan 2004 20:19:34 +0100 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.5) Gecko/20030925 |
Tom Tromey wrote:
> One thing we talked about is the possibility of defining a standard
> pluggable JIT interface, making it easier to mix-and-match JITs and
> interpreters across VMs.
[..snip...]
One quite important thing you have not stressed is gc interface - unless
gc is supposed to be part of jit, there is a lot of issues to be solved
(IMHO harder than jit <-> core jvm/classes interface).
For a jumpstart I would suggest looking at orp jit interface.
http://sourceforge.net/projects/orp/
Directory interface, all .h files there.
jit_runtime_support.h - number of jvm function which need to be called
from _generated_ code
jit_intf.h - jit use these function to discover info about classes it
needs to compile
jit_export.h - jvm call these methods on jit to request method
compilation, synchronize gc events and discover stack info
There are gc interface there, but AFAIK, orp never managed to get them
really pluggable - there was still a number of ifdefs in both jvm and
jit code depending on type of gc used. In fact, I'm not sure if
gc/jit/jvm can be separated through abstract interface and do not impose
any restrictions on implementation.
While orp code uses C for interfaces, I'm not proposing sticking to it
here - just to scavenge their headers to get a list of functions which
were needed to implement working, pluggable jit.
Artur
Re: JIT pluggability,
Artur Biesiadowski <=
Re: JIT pluggability, Niranjan Suri, 2004/01/10