FYI -- always hurts to not see JamaicaVM from Aicas included as one of the JVMs to
consider.  We like to think that its the "big four" :)
If you want hard real-time, multicore, compiled performance and CPU/MCU choices
we like to think we lead the market.
I don't want to do an advertisement on this mailing list.
Just thought I'd mention us and ask that we don't get forgotten.

(sitting down after raising hand and jumping up and down, shouting me too, me too)

Regards,
David Beberman

On 6/4/2011 10:35 AM, Krystal Mok wrote:
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




--
David Beberman
Dir. Business Development
Aicas, Inc.
dbeber...@aicas.com
www.aicas.com
The Leader in Embedded, Realtime, and Safety Critical Java Technology
C: 508 510 1155
T: 508 210 4083

Reply via email to