Or post to the dev list first so everyone can see it, and then take a
summary to the wiki.
On May 18, 2005, at 2:43 PM, Davanum Srinivas wrote:
Weldon,
One way to handle this is to write something up on the wiki
(http://wiki.apache.org/harmony/) and ask people to comment and then
incorporate the comments back. So that we have a record of the
discussion and the conclusions. Yes, we need to stick to harmony-dev
for now.
Thanks,
dims
On 5/18/05, Weldon Washburn <[EMAIL PROTECTED]> wrote:
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
--
Davanum Srinivas - http://webservices.apache.org/~dims/
--
Geir Magnusson Jr +1-203-665-6437
[EMAIL PROTECTED]