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 >