Tom Tromey wrote:
"Steve" == Steve Blackburn <[EMAIL PROTECTED]> 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

Or use it to test the "modular, in any language" concept.

* Use LLVM[2] as the JIT engine

LLVM looks cool, but comes with a wholebunchastuff under different licenses embedded in it. A casual inspection suggests we can probably work around them, but a closer inspection would be required.


* 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)

I don't really buy this is a drawback, since whatever you choose, everybody'll have to learn it.


It would be wrong to assume that everyone involved in this project is totally in love with Java :-)

I'm pretty sure we want a framework in C/C++, whatever components are developed in.

Question to the floor: if it had to be one of C and C++, which would you prefer?

Cheers,

Ben.

--
http://www.apache-ssl.org/ben.html       http://www.thebunker.net/

"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff

Reply via email to