"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