Hi Jochen, What you proposed sure is technically feasible, but whether it'd happen in Harmony, that's another story.
The three big JVMs, namely HotSpot, JRockit and J9 all perform some sort of idiom recognition to speed up common idioms. But it's quite unlikely for them to optimize for any single language other than Java. If any other language want to run fast on them, it'd either behave a lot like Java, or it should rely on invokedynamic to talk to the VM. The latter should be the recommended way to go, as time goes on, these JVMs should do very good job of optimizing dynamic usage. The missing pieces would be things like fixnums and the like, but since Groovy's type system is pretty close to Java's (and doesn't use fixnums like Ruby does), these shouldn't be a problem. The Maxine VM from Sun Labs (now Oracle Labs) would be pretty nice if you're experimenting ideas. I'd recommend a presentation "Leveraging Meta-Circularity in the Maxine VM" from JVM Language Summit 2008 (http://www.wiki.jvmlangsummit.com/pdf/12_Mathiske_max.pdf), page 28. I'm sure Charles Nutter wanted to try making a specialized version of Maxine VM for JRuby, maybe he can share his ideas on this. Ah, I just saw your reply on Maxine and GPL...no wonder you're looking into Harmony. With that, other options might include Jikes RVM and MRP (http://mrp.codehaus.org/), both of which are EPL-1.0 licensed. Regards, Kris Mok On 2011-6-4, at 21:28, Jochen Theodorou <blackd...@gmx.org> wrote: > Hi all, > > I noticed that there is recently not much going on in harmony, but I hope > there are still enough people to react to this mail. > > As one implementing a dynamic language for the JVM, namely Groovy, I > continuously have to fight the JVM in so many terms, that I am wondering if > it would not be an idea to extend an existing JVM to make things fast. For > this I was thinking of an basically running implementation in Java, but with > special recognition by for example the JIT, to remove some of the heavy > stones in the pathway. This is for example the meta class system, invoking > methods in general, hopefully to be able to collapse some code paths and > maybe do some checks internally faster than what we have now. > > Of course with invokedynamic JSR292 we would get maybe many of these things, > but there will be still problems, only a bit less. > > So I was wondering if Harmony would be a good starting point for this kind of > approach. I would like to hear some opinions of the developers if you care. > > bye Jochen > > -- > Jochen "blackdrag" Theodorou > The Groovy Project Tech Lead > http://blackdragsview.blogspot.com/ > For Groovy programming sources visit http://groovy.codehaus.org >