harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tom Tromey <tro...@redhat.com>
Subject Re: Developing Harmony
Date Mon, 16 May 2005 07:56:14 GMT
>>>>> "Steve" == Steve Blackburn <Steve.Blackburn@anu.edu.au> writes:

Steve> I am going to stick my neck out and make a few concrete suggestions
Steve> for how the Harmony VM might be developed.

Excellent post.


I would like to mention a different possibility:

* Write a new, modular VM in C or C++
  - Go through the interoperability list[1] and define internal
    modules along these boundaries
  - Pick 2-3 use cases as target environments.  I suggest "small
    embedded", "desktop application", and "j2ee server"
  - Make good reference choices
* Use Classpath as the class library
* Port MMTk to C, or otherwise find a way to use it
* Use LLVM[2] as the JIT engine
* Write an interpreter engine as well, for special situations (small
  memory).  Assuming Classpath proves to have an acceptable license,
  which really IMNSHO is the only sane possibility, we can just copy
  over the one from libgcj.


Drawbacks of this plan:

* JikesRVM is further along, so longer time to "hello world"
* Everybody has to learn C++ (or C)


Benefits of this plan:

* LLVM holds the promise of being able to combine JIT and AOT
  compilation
* Configurable VM means it is simpler to target the small machine
  embedded scenario
* Re-use somebody else's compiler framework.  For AOT, re-use lessons
  learned by gcj.

Tom

[1] http://lists.gnu.org/archive/html/classpath/2004-01/msg00033.html
[2] http://www.llvm.org/

Mime
View raw message