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