Absolutely,

http://wiki.apache.org/harmony/

The link I was mostly talking about was this one:

http://www.sable.mcgill.ca/publications/thesis/phd-gagnon/sable-thesis-2002-phd-gagnon.pdf

It is unlike most academic papers in that it not only has code samples but doesn't read like it was generated with that
paper generator.


-Andy

Narendra Harnwal wrote:

Andy,
Can you please pass the info where did you get the wiki? any URL?.
Appreciate it.

Thanks!
naren

On 5/13/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:


Ah, thank you very kindly Davanum.  It took me a bit to find the wiki,
but once I did.  I've read about half way through the first paper and I'm
already intrigued.  The whole "threaded inlining" thing is something
I've never thought about or done before but is really an elegant way to
hijack
the compiler to do your work for you.

Basically the compiler writes your machine code for you anyhow.  I'm
quite curious about the claims that it achieves 70% of native
performance (which
is really quite good) in microbenchmarks.  It also seems to me like this
threaded inlining might be a way in which you could swap in your own
native code if
you wanted to do optimization.  I had been thinking in assembler when
thinking about how this could be done and for some reason it didn't
occur to me to do
some of those tricks with C and let it worry about the rest.

I'm not sure what this inlining and the such means for garbage
collection, error reporting and stack allocation but it is really
nifty.  I had been thinking for some
time that interpreted code was kind of dumb.  That maybe just ditching
the entire concept of non-JITing was the best thing.  Sure you pay a
penalty for startup time.
however, the more I think about it, since JITing is tied to classes and
classes are tied to classloaders then any kind of serialization,
scoping/etc would be a problem.
One could walk around this by not obeying CL x FQN semantics for JIT
purposes, but then you have to do some kind of binary analysis which
could frankly be worse,
especially with the possibility of custom classloaders (don't you hate
those ha ha ha -- those who will know -- know).

So I think there will be intepreted code and some kind of "patch in" for
hot methods similar to hotspot.  I have to say though that I rather like
the idea of eager JIT-compiling all
base libraries at startup (toggleable of course).  One of the things I
like about this inlining is that it practically means that Harmony could
achieve a near-decent degree of performance on nearly every platform
that GCC supports.  That seems like a rather cool thing.

I'm still wrapping my mind around the issue with GETSTATIC and function
calls.  I see what they mean about the performance issue of checking to
see if the class is loaded and having to make a function call, but isn't
that still a problem with native code too?  How is this specific to the
method of inlining?

-Andy

Davanum Srinivas wrote:



Andy,

check the wiki. there are some papers of interest.

-- dims

On 5/13/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:




It has been a considerable time since I did programming at that level
but can someone tell me how:

If you are running code, generate some binary code, how do you schedule
it to run on the processor (and preferably in an unbounded way).  I
believe IIRC you can copy it into the code segment.   Can someone point
me to a good reference or better yet some reasonably well written source
which does this?

Thank you very much.

-andy
--
Andrew C. Oliver
SuperLink Software, Inc.

Java to Excel using POI
http://www.superlinksoftware.com/services/poi
Commercial support including features added/implemented, bugs fixed.









--
Andrew C. Oliver
SuperLink Software, Inc.

Java to Excel using POI
http://www.superlinksoftware.com/services/poi
Commercial support including features added/implemented, bugs fixed.










--
Andrew C. Oliver
SuperLink Software, Inc.

Java to Excel using POI
http://www.superlinksoftware.com/services/poi
Commercial support including features added/implemented, bugs fixed.



Reply via email to