harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Krystal Mok <rednaxel...@gmail.com>
Subject Re: [general] specialized JVM for Groovy
Date Sat, 04 Jun 2011 14:35:37 GMT
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 <blackdrag@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
> 


Mime
  • Unnamed multipart/alternative (inline, 7-Bit, 0 bytes)
View raw message