On 17 May 2005 18:27:42 -0600, Tom Tromey <[EMAIL PROTECTED]> wrote:
> >>>>> "David" == David Griffiths <[EMAIL PROTECTED]> writes:
> 
> David> Maybe a concrete example would help. Let's say you have a GC module
> David> written in C. One of it's API calls is to allocate a new object. How
> David> is your JIT module going to produce code to use that API? Via a C
> David> function pointer?
> 
> Yes.
> 
> One way is to mandate link- or compile-time pluggability only.  Then
> this can be done by name.  Your JIT just references
> '&harmony_allocate_object' in its source and uses this pointer
> in the code it generates.
> 
> The other way is to have the JIT call some central function to get a
> pointer to the allocator function (or functions, in libgcj it turned
> out to be useful to have several).  This only needs to be done once,
> at startup.
> 
> For folks interested in pluggability, I advise downloading a copy of
> ORP and reading through it.  ORP already solved these problems in a
> fairly reasonable way.

Thanks.  I am more than willing to respond to questions about ORP. 
Since ORP was last posted to open source, I have done some additional
thinking about interfaces as well as JVM and .NET design in general. 
I really look forward to discussing these ideas.  It would be great if
we can quickly get to the point where we can discuss interface
details.  For example, I would like to start a detailed discussion on
JIT and GC interface header files.  Should we start this on the
general harmony-dev list?
    Weldon

> 
> Tom
>

Reply via email to